Рассмотрим следующую ассоциацию:
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
новый магазин с именем «Мой магазин» создается и назначается @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
, чтобы этот магазин был назначен ему?