2010-11-07 5 views
1

У меня есть вложенная модель, которая выдает ошибку «undefined method» media_type для # < Array: 0x1060460d0 > «при вызове update_attributes. Что случилось с ассоциацией media_type?Ошибка вложенной формы модели

class Publication < ActiveRecord::Base 
    has_many :products 
    accepts_nested_attributes_for :products, :allow_destroy => true 
end 

class Product < Offering 
    belongs_to :media_type 
end 

class Offering < ActiveRecord::Base 
    belongs_to :publication 
end 

class MediaType < ActiveRecord::Base 
    belongs_to :meaning 
    has_many :products 
end 

Вот что я подаю в форму.

{"commit"=>"Commit changes", 
"_method"=>"put", 
"authenticity_token"=>"e2/62ffmRVuNsCVP65zy4SLprWgRSa+DdLc2RXzM+UQ=", 
"id"=>"628", 
"publisher_publication"=>{"edition_attributes"=>{"title"=>"this is the title", 
"short_description"=>"this is the description", 
"abstract"=>"", 
"subtitle"=>"", 
"id"=>"200", 
"long_description"=>"", 
"title_prefix"=>"", 
"work_attributes"=>{"id"=>"200"}}, 
"volume"=>"", 
"issue"=>"", 
"date_published"=>"2006-09-20", 
"products_attributes"=>{"1289147822429"=>{"price"=>0, 
"document"=>#<File:/var/folders/e9/e965IrazFgu0fm-rjRtvIk+++TI/-Tmp-/RackMultipart20101107-638-1vffwzk-0>, 
"media_type_id"=>"1"}}, 
"imprint_id"=>"3"}} 

Это мое действие с контроллером.

def update 
    @publication = Publisher::Publication.find(params[:id]) 

    if @publication.update_attributes(params[:publisher_publication]) 
    flash[:notice] = "Successfully updated publication and products." 
    redirect_to(publisher_publication_url(@publication)) 
    else 
    render :action => 'edit' 
    end 
end 

ответ

0

Я просто решил similar problem по устранению неполадок его rails console ...

Может быть, это поможет вам тоже.

Смежные вопросы