我在制作中遇到问题,我的部分代码在heroku上没有按预期工作。
在我的网站上,我有一个测验,其中用户会收到一个问题并给出答案。一旦得到正确或错误的问题,这将为用户提供这样的部分:
<%= link_to "Answer1", correct_answer_courses_path,:remote => true,:class=>"btn btn-warning" %>
correct_answer.js.erb
$("#correct_answer").html("<%= j render partial: "beginnercourse/correct", locals: {questionnumber: @questionnumber, coursetitle: @coursetitle, routenumber: @routenumber} %>");
控制器
def beginnercourse_q1
def correct_answer
@questionnumber = 1
@routenumber = @questionnumber + 1
@coursetitle = "beginnerscourse"
respond_to do |format|
format.js
end
end
def false_answer
@questionnumber = 1
@routenumber = @questionnumber + 1
@coursetitle = "beginnerscourse"
respond_to do |format|
format.js
end
end
end
这将呈现部分,位于/beginnercourse/_correct.html.erb
<div>
<h2> Correct!</h2>
<% if $current_course.send("claimedreward#{questionnumber}") == false%>
<h2><span class = "yellowtext">Well Done, + 100 tradepoints</span></h2>
<% current_user.update_attributes(tradepoints: (current_user.tradepoints + 100)) %>
<% $current_course.update_attributes("claimedreward#{questionnumber}" => true) %>
<%= link_to "Next", "/courses/#{coursetitle}_q#{routenumber}",class:"btn btn-warning" %>
<%= render 'layouts/coursefooter' %>
<% else %>
<h2><span class = "redtext">Points were already rewarded</span></h2>
<%= link_to "Next", "/courses/#{coursetitle}_q#{routenumber}",class:"btn btn-warning" %>
<%= render 'layouts/coursefooter' %>
<% end %>
</div>
在开发过程中,这一切都正常,但在Heroku上有一些问题:
我的heroku日志。 (heroku尝试加载问题4 3次,而不是去问题5):https://gist.github.com/Mixelated/41e78b7fceae213541d95fad1d3c1908
我已经坚持了一段时间了,似乎无法找出为什么它在Heroku上运行不稳定。非常感谢你的帮助!
答案 0 :(得分:0)
道歉,如果我错了,但我可以看到你总是将问号编号设置为1,所以下一个将始终将你重定向到第二个问题。是否有可能需要将当前问题编号作为参数发送给控制器,或者以某种方式保留请求中的值?