开发者

Nested attributes saving error

I have models

class Survey < ActiveRecord::Base
  has_many :questions
  acts_as_list

  validates :title, :presence =>true
  validates :short_description, :presence=>true
  validates :description, :presence=>true

end


class Question < ActiveRecord::Base
  belongs_to :survey
  has_many :options

  accepts_nested_attributes_for :options, :reject_if => lambda { |a| a[:title].blank? }, :allow_destroy => true

  acts_as_list :scope=>:survey
end

class Option < ActiveRecord::Base
  attr_accessible :title, :description, :position
  belongs_to :question

  acts_as_list :scope=>:survey
end

when i save or update question model it generate an error

@question        = Question.new(params[:question])
@question.save
@question        = Question.find(params[:id])
@question.update_attributes(params[:question])

In both cases it generates an error

No开发者_如何学运维MethodError (undefined method `survey_id' for #<Option:0xb332394>):
  app/controllers/admin/questions_controller.rb:47:in `block in create'
  app/controllers/admin/questions_controller.rb:46:in `create'

I can not understand why it is generating this error, since Option do not have any relation to Survey


Could it be this (on Option):

class Option < ActiveRecord::Base
  attr_accessible :title, :description, :position
  belongs_to :question

  acts_as_list :scope=>:survey   # <-- no survey_id ??
end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜