<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Sobre Trilhos: habtm ou has_many :through?</title>
    <link>http://www.sobretrilhos.com.br/articles/2007/08/12/habtm-ou-has-many-through</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Desenvolvendo a web com ruby on rails</description>
    <item>
      <title>habtm ou has_many :through?</title>
      <description>&lt;p&gt;H&#225; alguns dias atr&#225;s, precisei criar uma associa&#231;&#227;o m x n e fiquei na d&#250;vida entre usar o has_and_belongs_to_many ou o has_many :through. Como sabia que o primeiro era o modo antigo de se fazer esse tipo de associa&#231;&#245;es, e o segundo o "novo", fui pesquisar um pouco mais para saber qual dos dois iria usar.&lt;/p&gt;

&lt;h1&gt;Habtm&lt;/h1&gt;

&lt;p&gt;O habtm funciona muito bem quando se quer apenas uma associa&#231;&#227;o simples, sem um modelo associado a essa tabela de relacionamento. Por associa&#231;&#227;o simples, quero dizer que a tabela de relacionamento n&#227;o possui mais nenhum campo al&#233;m dos ids das tabelas relacionadas. &lt;/p&gt;

&lt;h1&gt;Has_many :through&lt;/h1&gt;

&lt;p&gt;Se quisermos ter informa&#231;&#245;es adicionais na tabela de relacionamento ou um modelo onde podemos ter controle sobre os relacionamentos, ent&#227;o o has_many :through &#233; o caminho a seguir.&lt;/p&gt;

&lt;p&gt;A escolha acabou se tornando simples ap&#243;s essa pesquisa. Se tiver um relacionamento simples, escolha a primeira representa&#231;&#227;o. Caso contr&#225;rio, use a segunda.&lt;/p&gt;

&lt;p&gt;Outra coisa importante de se destacar &#233; que, se voc&#234; quiser seguir o estilo &lt;em&gt;REST&lt;/em&gt;, escolha o has_many :through porque, atrav&#233;s do modelo criado, &#233; poss&#237;vel expor o CRUD para esse relacionamento.&lt;/p&gt;</description>
      <pubDate>Sun, 12 Aug 2007 19:57:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:1844f212-b7d7-464a-9d68-2480013e8c01</guid>
      <author>Leonardo</author>
      <link>http://www.sobretrilhos.com.br/articles/2007/08/12/habtm-ou-has-many-through</link>
      <category>ruby on rails</category>
      <category>associa&#231;&#245;es</category>
      <category>relacionamento</category>
    </item>
  </channel>
</rss>
