質問

私は4モデルtransac,transac_data、項目、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

現在の"transac"眺めながらプレーする必要がありまアクセスもこれらすべてのモデルのように:

<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 %>

もっとも必要にアクセス情報から"DvdDetails"モデルである"探す"からtransac.

そのうようなことなんの仕事:

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

いことを目指す"transac"ビュー

<%=h transac.dvd_details.name %>

いつからい達成。

他のお手伝いをお願いいたします。感謝です。

役に立ちましたか?

解決

実際に、 イアン-ホワイトnested_has_many_throughプラグイン, できるデイジーチェーンhas_manyにも深く浸透しています。取り付けるだけで、プラグインはこのように:

script/plugin install git://github.com/ianwhite/nested_has_many_through.git

その後の設定モデルのようになります:

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

このなすべきで作られています。

更新: この問題はこれまでに数回程度です。しっかりとした、 巣おhas_manyを通じて関係, しています。でもそれに伴うえで申請GitHubでダウンロードが選べる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top