如何从父模型中的方法调用嵌套对象?

时间:2013-08-17 15:52:28

标签: ruby-on-rails ruby-on-rails-3

我正在尝试制作自动评分功能。

DB由has_many和belongs_to relations组成的'survey - question - answer'。

它从check_box_tag获得用户输入,更新答案模型的user_answer值。它运作良好。问题出现在q.auto_check方法中。

调查控制器

def grading
  @survey = Survey.find(params[:id])
  @survey.user_id = current_user.id

  @survey.questions.each do |q|        
    params[:a_checkbox].each do |check|
      q.update(check)
    end
    q.auto_check
  end
end

问题模型

class Question < ActiveRecord::Base

  def auto_check
    answers.each do |a|
      self.is_correct = true  if a.user_answer == true and a.correct == true
      self.save!
    end
  end
  ...

我可以正确调用auto_check方法,但'answers.each do | a |'线路出了问题。

wrong number of arguments (0 for 1)

为什么会出现这个问题?我该如何解决?

0 个答案:

没有答案