Rails嵌套于加号表

时间:2012-07-17 01:50:29

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有以下型号并运行rails 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表构建的?我真的很困惑我应该如何/我应该在我的产品中嵌套哪些模型。谢谢!

1 个答案:

答案 0 :(得分:1)

模型已配置为接受products_categories关联的属性。在您的表单中,只需参考它:

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

请记住,在此表单呈现任何内容之前,您需要为products_categories关联构建新对象:

products.products_categories.build