2010-11-07 82 views
1

我有一個嵌套的模型窗體拋出錯誤「未定義的方法'media_type'爲#<陣列: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 ...

也許這將幫助你。