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