Ошибка формы вложенной модели - PullRequest
1 голос
/ 07 ноября 2010

У меня есть форма вложенной модели, которая выдает ошибку "неопределенный метод 'media_type' для #"при вызове 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

1 Ответ

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

Я только что решил подобную проблему , устраняя ее с помощью rails console ...

Возможно, это вам тоже поможет.

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