Неизвестные атрибуты вложенной формы в Rails - PullRequest
1 голос
/ 02 июля 2010

У меня проблемы с тем, чтобы мой 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.

Я использую Rails 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

Ответы [ 2 ]

2 голосов
/ 03 июля 2010

У вас есть has_many :images Таким образом, оно должно быть :images_attributes, а не :image_attributes

InventoryItem.create!(:name => 'what', :images_attributes => [ {:image => File.open("/home/davidc/Desktop/letterbx.jpg", "r") }])

И правильно использовать массив хэшей, когда у вас есть has_many отношение

0 голосов
/ 02 июля 2010

:image_attributes должен быть хешем.

InventoryItem.create!(
   :name => 'what',
   :image_attributes => { ... }
)
...