Heroku - nil: ошибка NilClass при изменении переменной в действии контроллера - PullRequest
1 голос
/ 13 августа 2011

Недавно я добавил счетчик просмотров для определенных страниц в моем тестовом приложении на 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 - показывает, что переменная на самом деле не ноль. Почему героку это делает? Что я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 13 августа 2011

Первый раунд.

Я уверен, что вы забыли запустить миграцию, поэтому .views не существует.

 rake db:migrate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...