0

多対多の関連付けであるエクスペリエンスとカテゴリの 2 つのモデルがある場合、次のようになります。

class Experience < ActiveRecord::Base
  has_and_belongs_to_many :categories
end


class Category < ActiveRecord::Base
  has_and_belongs_to_many :experiences
end

時々人々が追加する理由:

attr_accessible :category_ids経験モデルで?Rails admin gem では、特定のエクスペリエンスにカテゴリを追加できますが、その理由がわかりません。

4

1 に答える 1

3

Experience と Category の間に HABTM 関係を設定すると、他にも利用可能な method がありますExperience#category_ids。このメソッドは、現在のエクスペリエンスが持つカテゴリの個々の ID を返します。

Experience.first.category_ids

このメソッドにもExperience#category_ids=バリアントがあるため、それを使用してカテゴリの ID を割り当てることができます。

Experience.first.category_ids = [1, 2, 3]

エクスペリエンスのカテゴリを選択できるフォームがある場合、選択したカテゴリの ID のみが表示されます。フォームを送信すると、これらの ID がExperience#category_ids=一括代入を介して渡されます。これcategory_idsattr_accessibleにない場合は、エラーが発生します。

于 2012-12-30T12:33:33.333 に答える