2011-03-27 86 views
0

我有機型嵌套屬性保存錯誤

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' 

我這兩種情況下無法理解爲什麼它會產生此錯誤,因爲選項與調查沒有任何關係

回答

0

難道這(期權):

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