希望有人可以幫助我理解爲什麼會發生這種情況。我設置了以下情況...外鍵刪除新/建
@product = Product.find(params[:id])
@new_image = @product.images.new
當調試@new_image
,它具有正確的外鍵設置。
--- !ruby/object:Image
attributes:
product_id: 1
但是,保存時,沒有設置product_id
。那是當我注意到,也在那個調試信息,這是...
changed_attributes:
product_id:
基本上無效我的外鍵。同樣的事情,如果我使用構建。爲什麼這個實例不能保持外鍵?
UPDATE: 使事情變得更簡單,即使我只是在我看來輸出debug Product.find(1).images.new
,我得到:
!ruby/object:ProductImage
attributes:
created_at:
product_id: 1
updated_at:
attributes_cache: {}
changed_attributes:
product_id:
destroyed: false
marked_for_destruction: false
new_record: true
previously_changed: {}
readonly: false
您可以發佈您全面控制代碼,不會保存,也許你的`Product`和`Image`模型的內容? – 2011-01-29 03:05:28