Я испытываю затруднения, заставляя мой InventoryItem принять вложенные атрибуты, который является странным.
В моем сценарии/консоли я сделал следующее:
>> InventoryItem.create!(:name => 'what', :image_attributes => [ {:image => File.open("/home/davidc/Desktop/letterbx.jpg", "r") }])
ActiveRecord::UnknownAttributeError: unknown attribute: image_attributes
Я не уверен, почему я получаю неизвестную ошибку атрибута, когда в моей модели, я уже сделал accept_nested_attributes.
Я использую направляющие v2.3.5.
Модель предмета хранения
class InventoryItem < ActiveRecord::Base
uuid_it
belongs_to :user
has_many :orders
has_many :images, :validate => true
accepts_nested_attributes_for :images
end
Изображение
class Image < ActiveRecord::Base
belongs_to :inventory_item
has_attached_file :image, :style => { :medium => "300x300>", :thumb => "100x100>" }
end
У вас есть has_many: images
Итак, это должно быть : images_attributes
, а не : image_attributes
InventoryItem.create!(:name => 'what', :images_attributes => [ {:image => File.open("/home/davidc/Desktop/letterbx.jpg", "r") }])
И правильно использовать массив хэшей, когда у вас есть has_many
Relationship
: image_attributes
должен быть хешем.
InventoryItem.create!(
:name => 'what',
:image_attributes => { ... }
)