ruby-on-rails – Rails accepted_nested_attributes_for错误,请帮我发现它

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails accepted_nested_attributes_for错误,请帮我发现它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力追随 Active Record Nested Attributes Guide,没有太大的成功.

我有以下型号:

class Contact < ActiveRecord::Base
  has_many :telephones
  accepts_nested_attributes_for :telephones
end

class Telephone < ActiveRecord::Base
  belongs_to :contact
end

在尝试创建联系人时:

contact = {
  :name => "John",:telephones => [
    {:telephone => '787445741'},{:telephone => '478589658'}
  ]
}
Contact.create(contact)

我收到以下错误
ActiveRecord :: AssociationTypeMismatch:电话(#80827590)预计,得到哈希(#72886250)

你能帮我看看错误吗?
我应该在contact_controller.rb中包含任何代码吗?

解决方法

我使用以下代码
params = { :contact => {
    :name => 'Joe',:permanentcomment => "No Comment",:telephones_attributes => [
      {:telephone => '787445741'},{:telephone => '478589658'}
    ]
  }}
  Contact.create(params[:contact])

我将错误的参数传递给Contact.create控制器……

猜你在找的Ruby相关文章