1

この質問を調査する方法さえわからないので、素晴らしいレール開発者が私を正しい方向に向けてくれるかもしれません。

質問と正解を保持しているモデルがあります。ショービューで、ユーザーに入力フィールドに回答を入力してもらい、送信を押すと、回答がモデルに保持されている回答と比較されます。彼らの答えを保存する必要はありません。

考え?

4

2 に答える 2

0

そのために非 ActiveRecord モデルを使用できます。このようなもの:

class UserAnswer # note that this class doesn't inherit from ActiveRecord::Base
  attr_accessor :question_id, :answer

  def initialize(params)
    @question_id = params[:question_id]
    @answer = params[:answer]
  end

  def correct?
    q = QuestionAnswerModel.find(self.question_id)
    q.answer == self.answer
  end
end

次に、コントローラーで次のようなことができます。

user_answer = UserAnswer.new(params) # params contains :question_id and :answer
user_answer.correct? # returns true or false
于 2012-08-29T05:41:01.173 に答える
0

簡単な方法は、回答と等しい場合にのみ回答確認を保存することです。

Model:
  question
  answer
  answer_confirmation

次に、通常どおりにフォームを作成します。

モデルに追加

validate :check_answer

def check_answer
  errors.add(:answer, "Must be the same as answer confirmation") if answer!= answer_confirmation
end
于 2012-08-29T05:41:08.510 に答える