1

次のモデルとレール 3.01 を実行しています。

# file: app/models/product.rb
class Product < ActiveRecord::Base
  has_many :categories, :through => :product_categories
  has_many :product_categories, :dependent => :destroy
  accept_nested_attributes_for :product_categories
end

# file: app/models/category.rb
class Category < ActiveRecord::Base
  has_many :products, :through => :product_categories
  has_many :product_categories, :dependent => :destroy
end

# file: app/models/product_category.rb
class ProductCategory < ActiveRecord::Base
  belongs_to :product
  belongs_to :category
end

ProductCategory は私の結合テーブルです。製品フォームでは何と呼びますか? Categories テーブルと ProdcutCategories テーブルのどちらを基に構築しますか? どのモデルを自分の製品にどのようにネストさせるべきか、本当に混乱しています。ありがとう!

4

1 に答える 1

1

モデルは、products_categories関連付けの属性を受け入れるように既に構成されています。あなたのフォームでは、次のように参照してください:

<%= f.fields_for :products_categories do |pc| %>
  # fields go here

products_categoriesこのフォームが何かをレンダリングする前に、関連付け用の新しいオブジェクトを作成する必要があることに注意してください。

products.products_categories.build
于 2012-07-17T03:38:20.837 に答える