2011-12-02 61 views
1

我做簡單的樹形結構,並在教程如下:的Rails 3 - 如何使重建

  • 構建緩存:TreeNode.rebuild_depth_cache!

我從來不使用這個命令,我想給這條線到我的控制器(在我的瀏覽器中裝入的動作),並試圖刷新,希望一切都會好起來,但沒有。

無法爲沒有深度緩存的模型重建深度緩存。

(很明顯,我更新了我的模型)

我試圖把此行到終端窗口,而是錯誤(命令未找到)。

我不知道把這個命令放到哪裏 - 進入控制器(進入操作)或進入終端?我真的不知道這個命令應該去哪裏,所以我想問你一些幫助...

或者,運行這個命令是否是其他所需的東西?

回答

1

您需要在終端中的Rails控制檯中運行它:rails c。然後運行你的命令TreeNode.rebuild_depth_cache!

雖然錯誤是可疑的。你確定你沒有忘記在你的模型中調用一個類方法來使它成爲一棵樹嗎?

你能鏈接到教程嗎?

+0

感謝Robin的回答,除了在控制檯中運行這個命令外,還需要添加到以下模型:'has_ancestry:cache_depth => true'並重新啓動服務器。 – user984621