2012-09-06 93 views
2

我有一個食譜的Rails模型。 它有一個屬性視圖,它記錄了它被查看的次數。固定 - Rails模型:保存在本地但不在Heroku上工作

在我的控制器的表演動作,我取一般的模型對象:

@recipe = Recipe.find(params[:id]) 

然後我增加的觀看次數,並保存:

@recipe.views = @recipe.views + 1 
@recipe.save 

這個工程順利在本地,但在Heroku上,保存顯然不會發生。 沒有錯誤引發。

我可以在Heroku的rails控制檯上運行這個完全相同的代碼,然後它就可以工作。

的唯一途徑,我可以得到它的工作,是設置

config.cache_classes = false 
在environmenst

/production.rb

這是obvously不是我想要的,但我很爲難如何走從這裏。

我在Cedar堆棧上運行Rails 3.2.8,Ruby 1.9.3,在開發和生產中都使用Postgresql 9.1。

更新:修正

我覺得愚蠢 - 主要捂臉! 原來我在app/controllers目錄中有一個帶有控制器的另一個較老定義的文件。我會悄悄地去撞我的頭。

+0

只是爲了清理代碼,你可以使用'@ recipe.increment!(:views)'作爲你的計數器(也是!bang會拋出任何錯誤)。你用什麼數據庫? – veritas1

+0

這是postgresql 9.1本地和Heroku。我有一種強烈的感覺,這是某種緩存問題(這種行爲甚至沒有被Heroku擊中)。不過,我想知道爲什麼cache_classes = false使它工作。如果我將其設置爲true,則保存停止工作。 – Azzar

+0

嘗試'heroku重啓'。 –

回答

0

複製從編輯的身體問題的答案,以從「未答覆」過濾器中刪除了這個問題:

更新:修正

我覺得愚蠢 - 主要捂臉!原來我有一個文件,其中有另一個 控制器在app/controllers目錄中的舊定義。 我會悄悄地去撞我的腦袋。

〜每Azzar

3

FWIW答案,尋找適合自己的解決方案的未來搜索的heroku restart本傑明·譚的答案是什麼工作對我來說,當我有類似的問題。

+0

哦,地獄!我無法相信我沒有這麼做就浪費了太多時間! – hcarreras

相關問題