2010-06-04 122 views
0

在工作中,我們已經在那裏當運行只要代碼沒有改變,Ruby on Rails是否可以緩存控制器?

script/server 

,那麼所有的控制器代碼被緩存的情況。這是爲了加速 開發服務器。但是這意味着只要我們更改 控制器代碼,我們就需要重新啓動服務器。

因此,我們可以關閉控制器代碼的緩存。但是 不可能會有機制類似於JavaScript的包容

foo.js?1275647624 <--- UNIX timestamp 

的是,只要沒有更改代碼, 使用緩存的版本,但重新編譯時有代碼的變化?

也許是因爲我們使用HAML和SASS很多,加載一些頁面(如 主頁的站點)可以採取在開發環境40秒它 很長。

+0

Woah ...一頁40秒? – Jeriko 2010-06-04 10:42:00

+0

僅供參考,您的JS/css URL中'?timestamp'的用途是強制客戶端瀏覽器重新請求文件不要使用本地緩存版本。 – 2010-06-04 14:09:19

+0

控制器,模型和助手(基本上是你的應用程序目錄)是在每個請求的基礎上加載的,模塊/庫通常被緩存,甚至在開發時也需要服務器重啓。 – 2010-06-04 14:11:04

回答

1

默認情況下,Rails會爲開發環境中的每個請求重新加載類。這應該確保任何更改都被提取出來。在生產環境中運行時通常只緩存類,或者可能在設置了臨時環境的情況下。

顯然我不知道你的應用程序,但40秒加載開發的主頁聽起來很長時間。日誌中是否有錯誤?