0
,所以我做這個小測驗web應用程序和方式,我做的是通過調用一個控制器方法與行不進入if語句,調用控制器方法軌
<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(在我的測試用例中),它們是。
這是在ruby中使用尾部問號'?'來命名謂詞方法並使用'snake_case'的最佳實踐https://github.com/bbatsov/ruby-style-guide#naming'isAnswer'應該更像'is_answer?' – Jonathan
以及該方法不會返回任何東西,但確定我明白你的意思,現在雖然我試圖解決我的問題與計數正確的答案 –
什麼在你的params散列? 'puts params' – Josh