0

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

DB由has_many和belongs_to关系的“调查-问题-答案”组成。

它从 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)

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

4

0 回答 0