1

かなり初歩的な質問のように見えるものについて、なぜ何も見つからないのかわかりません。次のようなものがあるとしましょう

class Category < ActiveRecord::Base
  has_many :categorizations
  has_many :items, :through => :categorizations
end

class Item < ActiveRecord::Base
  has_many :categorizations
  has_many :categories, :through => :categorizations
end 

class Categorization < ActiveRecord::Base
  attr_accessible :some_field
  belongs_to :category
  belongs_to :item
end     

および関連する移行。次に、できること

item1=Item.new()
item2=Item.new()
foo=Category.new()
foo.items=[ item1, item2 ]

、 右?では、:some_field の値を設定するために、foo を item1 および item2 にリンクする分類をどのように取得するのでしょうか?

4

1 に答える 1

3

余分なものを追加したい場合は、ファスト トラックを使用できません。今はテストできませんが、次のようなものが機能するはずです。

item1 = Item.new
item2 = Item.new

foo = Category.new
foo.categorizations.build(:some_field=>'ABC', :item=>item1)
foo.categorizations.build(:some_field=>'XYZ', :item=>item2)

アップデート:

Categorizationまた:使用できない追加データを表示する必要がある場合@category.items:

<h1><%= @category.name %></h1>

<% @category.categorizations.each do |categorization| %>
  <h2><%= categorization.item.name %></h2>

  <p>My extra information: <%= categorization.some_field %></p>
<% end %>
于 2012-07-25T05:41:21.483 に答える