我最近在heroku的测试应用上为某些页面实现了一个视图计数器。
这是一个简单的计数器,每次访问用户显示操作时只添加一个视图。它的工作原理如下:
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变量肯定不是零。例如,我用
替换了views / save行 redirect_to root_path if @product.nil?
没有重定向到root_path - 显示变量不是真的为零。为什么heroku这样做?我该怎么做才能解决它?
答案 0 :(得分:0)
我确定您忘了运行迁移,因此.views
不存在。
rake db:migrate