Недавно я добавил счетчик просмотров для определенных страниц в моем тестовом приложении на heroku.
Это простой счетчик, который просто добавляет один просмотр при каждом обращении к действию пользователя show. Работает так:
class ProductsController < ApplicationController
def show
@product = Product.find(params[:id])
@product.views += 1
@product.save
end
....
end
Этот счетчик отлично работает на моем локальном хосте, но на Heroku есть ошибка:
NoMethodError (undefined method `+' for nil:NilClass):
Теперь я решил проблему - переменная @product определенно не равна нулю. Я, например, заменил строки просмотра / сохранения на
redirect_to root_path if @product.nil?
, который не перенаправил на root_path - показывает, что переменная на самом деле не ноль. Почему героку это делает? Что я могу сделать, чтобы это исправить?