2012-06-29 154 views
2

使用Rails 3.2.2和ruby 1.9.2,我無法爲生產服務資產。我們在apache上運行。我已閱讀一些文檔並設置:Rails 3服務於生產資產

config.serve_static_assets = true 
config.assets.compile = true 

在production.rb中,它似乎不工作。我還能嘗試什麼?或者我怎樣才能得到一些調試信息,看它在哪裏。

此外,我回到開發,並進入資產/圖像和刪除.png文件,以故意破壞開發環境中的東西,但它沒有奏效,圖像仍然顯示。必須有一些預先編譯的資產,但它們存儲在哪裏,我將如何清除這些資源?謝謝

+0

我不得不跑'耙資產:precompile'我部署一個應用程序的新版本,以測試Linux的虛擬機各一次。嘗試運行,看看是否有幫助。 – Zajn

+0

你是通過capistrano部署嗎? –

回答

4

通常,如果你的Apache服務器在你的Rails服務器前,你不希望你的應用程序在生產環境中編譯資產。您可能希望預編譯資產並使Apache爲其提供服務。

默認情況下,編譯的資產存儲在公共/資產中。

所有這一切如何取決於您未共享的配置細節。我建議閱讀資產管道導軌指南:

http://guides.rubyonrails.org/asset_pipeline.html

,特別是:

http://guides.rubyonrails.org/asset_pipeline.html#in-production

它heven對如何配置Apache的一些例子。

+0

是的,那是的,我們確實希望有apache爲他們服務。但是,我們正面臨一個演示期限,性能並不是優先考慮的事情,我只想得到一些本地不運行的東西。任何幫助讚賞。並感謝您的鏈接。 – dt1000

+0

嗯...如果你只需要一個演示,你可以直接通過瘦服務器或其他導軌服務器直接服務器嗎?這可能更容易實現。 (請參閱yfeldblum關於啓用資產服務的評論)。 –

0

config/application.rb

config.assets.enabled = true