【发布时间】:2016-08-04 02:27:07
【问题描述】:
在我的游戏中,用户has_one 得分和belongs_to 用户得分。当用户在玩时,我希望该用户的分数每秒增加 1,然后保存,以便用户的分数可以在排行榜上可见。我已经想出了使用 JavaScript 变量执行此操作的代码,但是当我使用 ruby 对象尝试它时,我收到一条错误消息:
undefined method '+' for nil:NilClass
控制器:
class ScoresController < ApplicationController
before_action :require_user, only: [:index]
def index
@score = current_user.score
@users = User.all
end
end
查看:
<div class="score-outline"> Score:<div id="score">0</div></div>
Javascript:
window.setInterval(
function countscore() {
if($('#game-area').is(':animated')){
<%= @score += 1 %>
document.getElementById("score").innerHTML = <%= @score %>
}
}, 1000);
【问题讨论】:
-
哪个文件包含您的 JavaScript?看起来它不在索引操作的模板中。
标签: javascript ruby-on-rails ruby nomethoderror