この質問を調査する方法さえわからないので、素晴らしいレール開発者が私を正しい方向に向けてくれるかもしれません。
質問と正解を保持しているモデルがあります。ショービューで、ユーザーに入力フィールドに回答を入力してもらい、送信を押すと、回答がモデルに保持されている回答と比較されます。彼らの答えを保存する必要はありません。
考え?
この質問を調査する方法さえわからないので、素晴らしいレール開発者が私を正しい方向に向けてくれるかもしれません。
質問と正解を保持しているモデルがあります。ショービューで、ユーザーに入力フィールドに回答を入力してもらい、送信を押すと、回答がモデルに保持されている回答と比較されます。彼らの答えを保存する必要はありません。
考え?
そのために非 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
簡単な方法は、回答と等しい場合にのみ回答確認を保存することです。
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