我有两种型号,资源和产品。
在product.rb中,我只是将关系定义为:
belongs_to :resource
在resource.rb中,我将关系定义为:
has_many :products
accepts_nested_attributes_for :products, allow_destroy: true, update_only: true
当我尝试使用以下命令同时创建具有关联产品的资源时:
Resource.create({:name => "new resource", :capacity => 20, :store_id => 1, :products_attributes => [{:name => "new product", :description => "new description"}]})
不会自动指定产品型号下的:resource_id。我做错了什么?
答案 0 :(得分:0)
您应该使用inverse_of,因为rails会尝试在数据库中存在之前运行验证
您可以在此处找到更好的解释:
http://kueda.net/blog/2012/09/04/validates_presence_of-and-accepts_nested_attributes_for/