我不知道如何甚至研究這個問題,所以也許一些令人敬畏的rails開發人員可以指出我在正確的方向。rails 3臨時用戶輸入用於比較
我有一個模型,它持有一個問題和正確的答案。在展示視圖中,我希望用戶在輸入字段中輸入他們的答案,並在按下提交時,將他們的答案與模型中的答案進行比較。我不需要保存他們的答案。
想法?
我不知道如何甚至研究這個問題,所以也許一些令人敬畏的rails開發人員可以指出我在正確的方向。rails 3臨時用戶輸入用於比較
我有一個模型,它持有一個問題和正確的答案。在展示視圖中,我希望用戶在輸入字段中輸入他們的答案,並在按下提交時,將他們的答案與模型中的答案進行比較。我不需要保存他們的答案。
想法?
你可以使用一個非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
好吧,我會檢查這些想法了。謝謝! – HappaGirl
我做了一些類似於你的建議的東西。感謝你讓我走上了道路! – HappaGirl