2010-11-07 17 views
6

पर स्पॉट करने में मेरी सहायता करें मैं बिना किसी सफलता के Active Record Nested Attributes Guide का पालन करने का प्रयास कर रहा हूं।रेल accepts_nested_attributes_for त्रुटि, कृपया इसे

मैं निम्नलिखित मॉडल:

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 में शामिल करना चाहिए?

उत्तर

10

मैं इसे निम्नलिखित कोड के साथ काम मिल गया:

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

मैं Contact.create नियंत्रक को गलत तर्क गुजर रहा था ...

संबंधित मुद्दे