надеюсь, кто-то может помочь мне понять, почему это происходит. Я установил следующие экземпляры ...
@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