Pregunta

Tengo 4 modelos:transac, transac_data, artículo, dvd_details

class Transac < ActiveRecord::Base
  has_many :transac_datas
  has_many   :items, :through => :transaction_datas
end

class TransactionData < ActiveRecord::Base
  belongs_to :item
  belongs_to :transaction
end

class Item < ActiveRecord::Base
  has_many   :transaction_datas
  has_many   :transacs, :through => :transaction_datas
end

class DvdDetails < ActiveRecord::Base
  has_many :items
end

Ahora, en la vista "transac", necesito acceder a elementos de todos estos modelos como:

<td><%=h transac.status %></td>
<% transac.transaction_datas.each do |td| %>
  <td><%=h td.item_type %></td>
<% end %>

<% transac.items.each do |item| %>
  <td><%=h item.item_type %></td>
<% end %>

PERO también necesito acceder a información del modelo "DvdDetails", que es el "más alejado" de Transac.

Me di cuenta de que hacer algo como esto realmente no funcionaría:

class Transac < ActiveRecord::Base
  has_many :transac_datas
  has_many :items, :through => :transaction_datas
  has_many :dvd_details, :through => :items, :through => :transaction_datas
end

y haz esto en el índice de la vista "transac"

<%=h transac.dvd_details.name %>

¿Qué necesito hacer para lograr esto?

¡Cualquier ayuda es apreciada!¡Gracias!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top