不输入if语句,调用控制器方法rails

时间:2016-06-17 20:25:03

标签: ruby-on-rails web

所以我正在制作这个小测验网络应用程序,我这样做的方法是通过调用行控制器方法

<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(在我的测试用例中)并且它们是。

1 个答案:

答案 0 :(得分:0)

问题是会话[:id]是字符串&#39; 1&#39;而不是整数1.所以我通过调用Integer(session [:id])然后将它与correct_id进行比较来修复它。