В моей игре оценка пользователя has_one
, а оценка belongs_to
пользователя. Когда пользователь играет, я хочу, чтобы счет этого пользователя заметно увеличивался на 1 каждую секунду, а затем сохранялся, чтобы счет пользователя мог быть виден в таблице лидеров. Я уже придумал код для этого с помощью переменной JavaScript, однако, когда я пытаюсь сделать это с рубиновым объектом, я получаю сообщение об ошибке:
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);