我有一个食谱的 Rails 模型。它有一个属性,views,它计算它被查看了多少次。
在我的控制器的显示操作中,我通常获取模型对象:
@recipe = Recipe.find(params[:id])
然后我增加查看次数并保存:
@recipe.views = @recipe.views + 1
@recipe.save
这在本地工作顺利,但在 Heroku 上,保存显然不会发生。没有错误被抛出。
我可以在 Heroku 上的 rails 控制台中运行完全相同的代码,然后它就可以工作了。
我可以让它工作的唯一方法是设置
config.cache_classes = false
在环境/生产.rb
这显然不是我想要的,但我对如何从这里开始感到困惑。
我在 Cedar 堆栈上运行 Rails 3.2.8、Ruby 1.9.3,在开发和生产中都使用 Postgresql 9.1。