所以我正在制作这个小测验网络应用程序,我这样做的方法是通过调用行控制器方法
<li><%= button_to @current_question.answer1, request.base_url + '/answer/1' %></li>
/对其他3个选项/
做同样的事情似乎在调用控制器方法时起作用:
def isAnswer
@current_question = Question.find(session[:current_question])
if params[:id] == @current_question.correct_id
session[:answers_right] += 1
end
session[:current_question] += 1
render 'session'
end
这是我的路线:
post 'answer/:id' => 'sessions#isAnswer'
然而问题是,无论我点击哪个选项,我都不会输入if语句。此外,我尝试在会话[]中保存params [:id]和@ current_question.correct_id并打印它们以查看它们是否都是2(在我的测试用例中)并且它们是。
答案 0 :(得分:0)
问题是会话[:id]是字符串&#39; 1&#39;而不是整数1.所以我通过调用Integer(session [:id])然后将它与correct_id进行比较来修复它。