Rails 中嵌套表单的未知属性

发布于 2024-09-08 00:34:34 字数 832 浏览 4 评论 0原文

我无法让我的 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

I'm having trouble getting my InventoryItem to accept nested attributes which is strange.

In my script/console, I did the following:

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

I am not sure why I'm getting the unknown attribute error when in my model, I already did accept_nested_attributes.

I'm using Rails v2.3.5.

Inventory Item Model

class InventoryItem < ActiveRecord::Base
  uuid_it

  belongs_to :user
  has_many :orders
  has_many :images, :validate => true
  accepts_nested_attributes_for :images
end

Image

class Image < ActiveRecord::Base
  belongs_to :inventory_item

  has_attached_file :image, :style => { :medium => "300x300>", :thumb => "100x100>" }
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

逆光下的微笑 2024-09-15 00:34:34

您有 has_many :images
所以,它应该是 :images_attributes,而不是 :image_attributes

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

当你有 has_many 关系时,使用哈希数组是正确的

You have has_many :images
So, it should be :images_attributes, not :image_attributes

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

And it is correct to use array of hashes when you have has_many relationship

萌︼了一个春 2024-09-15 00:34:34

:image_attributes 应该是一个哈希值。

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

:image_attributes is supposed to be a hash.

InventoryItem.create!(
   :name => 'what',
   :image_attributes => { ... }
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文