嵌套属性保存错误

问题描述:

我有机型嵌套属性保存错误

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 

当我保存或更新的问题模型,可以产生一个错误

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

在它生成错误

NoMethodError (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' 

我这两种情况下无法理解为什么它会产生此错误,因为选项与调查没有任何关系

难道这(期权):

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

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

感谢神。并感谢你。有错字错误。 – 2011-03-27 15:29:02