次の関連付けを検討してください。
class Product < ActiveRecord::Base
belongs_to :shop
accepts_nested_attributes_for :shop
end
もしも
params[:product][:shop_attributes] = {"name" => "My Shop"}
そして私は:
@product = Product.new(params[:product])
@product.save
予想どおり、「My Shop」という名前の新しいショップが作成され、 に割り当てられ@product
ます。
ただし、次のようなものがshop_attributes
含まれているとどうなるかわかりません。id
params[:product][:shop_attributes] = {"id" => "20", "name" => "My Shop"}
次のエラーが表示されます。
Couldn't find Shop with ID=20 for Product with ID=
質問1
これはどういう意味ですか?
質問2
これが事実である場合、つまり、id
ショップの が既知であり、そのようなショップが既に存在する場合、このショップがそれに割り当てられるような をid
どのように作成すればよいですか?@product