我的数据库中有成本和产品表,我希望以成本的形式获得所有产品的成本,然后将所有product_id,成本值保存到成本表中。
我的模特
class Cost < ActiveRecord
belongs_to :test
end
class Product < ActiveRecord
has_many :costs
end
这里我不知道更好的方法来创建表单的参数并将记录保存在表中。请帮帮我
答案 0 :(得分:1)
我从你的协会开始 - 就是:测试协会应该是:产品?
http://guides.rubyonrails.org/association_basics.html
看看2.3节has_many协会。
class Cost < ActiveRecord
belongs_to :product
end
class Product < ActiveRecord
has_many :costs
accepts_nested_attributes_for :costs, :reject_if => :all_blank, :allow_destroy => true
end
改为使用产品表单会更有意义吗?因此,产品索引操作只能用于列出所有产品。然后,Product表单可用于通过fields_for标记和accepts_nested_attributes_for:产品模型中的成本来处理多个成本。
编辑: 所以继续你的评论,你正在看这种模式吗?
class Customer < ActiveRecord
has_many :costs
has_many :products, :through => :costs
accepts_nested_attributes_for :costs, :reject_if => :all_blank, :allow_destroy => true
end
class Cost < ActiveRecord
belongs_to :customer
belongs_to :product
end
class Product < ActiveRecord
has_many :costs
has_many :customers, :through => :costs
accepts_nested_attributes_for :costs, :reject_if => :all_blank, :allow_destroy => true
end