2012-02-29 124 views
1

我正在使用Rails 3.2,並且正在運行一些運行我的生產環境的問題。我運行了rake資源:預編譯,然後rails -e生產。這是我得到的錯誤:Asset Pipeline找不到預編譯資產

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#index 
    application_bottom.js isn't precompiled 

但是,當我檢查,看看有什麼在我的公開/資產,我得到

ls public/assets/application_bottom* 
    public/assets/application_bottom.js 
    public/assets/application_bottom.js.gz 

我注意到,我也許應該有附加到它的散列文件但我不知道。我猜這可能與問題有關,但我不知道如何解決。

這是我的資產配置環境;

config.serve_static_assets = true 
    config.assets.compress = true 
    config.assets.compile = false 
    config.assets.digest = true 

我錯過了什麼?

回答

5

您是否將application_bottom添加到應該預編譯的文件列表中,它存在於config/environments中的production.rb文件中。

YOUR_APPLICATOIN_NAME::Application.configure do 
    # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) 
    config.assets.precompile += %w(application_bottom.js) 
end 

希望有幫助。

+1

我剛剛弄明白了這一點。在我的腦海裏,預編譯任務會在我的app/assets/jabacsripts中找到manifests,併爲我做這些,但我想它只會默認爲application.js/css。非常感謝! – vsanta 2012-02-29 15:18:01

+0

您的歡迎,我的榮幸。 – TheDelChop 2012-02-29 15:21:04