Considérez les points suivants de l'association:
class Product < ActiveRecord::Base
belongs_to :shop
accepts_nested_attributes_for :shop
end
Si
params[:product][:shop_attributes] = {"name" => "My Shop"}
et je fais:
@product = Product.new(params[:product])
@product.save
une nouvelle boutique avec le nom "Ma Boutique" est créée et affectée à l' @product
, comme prévu.
Cependant, je ne peux pas comprendre ce qui se passe lors de l' shop_attributes
contient quelques - id
, comme:
params[:product][:shop_attributes] = {"id" => "20", "name" => "My Shop"}
J'obtiens l'erreur suivante:
Couldn't find Shop with ID=20 for Product with ID=
Question 1
Ce que cela veut dire ?
Question 2
Si c'est le cas, c'est à dire l' id
de la boutique est connue, et la boutique avec un tel id
existent déjà, comment dois-je créer l' @product
, de sorte que cette vente sera affecté à elle ?