Rails acceptpts_nested_attributes_for Ошибка, пожалуйста, помогите мне определить ее - PullRequest
6 голосов
/ 07 ноября 2010

Я пытался следовать руководству по вложенным атрибутам Active Record , но без особого успеха.

У меня есть следующие модели:

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: Telephone(#80827590) expected, got Hash(#72886250)

Не могли бы вы помочь мне определить ошибку?Есть ли какой-нибудь код, который я должен включить в contact_controller.rb?

1 Ответ

10 голосов
/ 08 ноября 2010

Я получил его с помощью следующего кода:

params = { :contact => {
    :name => 'Joe',
    :permanentcomment => "No Comment",
    :telephones_attributes => [
      {:telephone => '787445741'},
      {:telephone => '478589658'}
    ]
  }}
  Contact.create(params[:contact])

Я передавал неправильные аргументы Contact.create контроллеру ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...