2012-04-18 88 views
9

Rails Guides後的JavaScript資產丟失說:Rails的預編譯

如果缺少生產預編譯的文件,你會得到一個 鏈輪::助手:: RailsHelper :: AssetPaths :: AssetNotPrecompiledError 例外廠名丟失的文件。

我執行:

bundle exec rake assets:precompile 

但我沒有得到任何錯誤,我的javascript文件在manifest.yml失蹤。此外它不出現在公共/資產,所以問題只在生產。

我在的application.js

//= require formalize/jquery-formalize 

我缺少什麼?

謝謝。

+0

在開發環境,你可以訪問'jquery-formalize'正確嗎? – zires 2012-04-19 01:26:45

+0

是的,在開發中我看到它的工作 – valk 2012-04-19 05:57:45

+0

什麼是在你的manifest.yml? – zires 2012-04-20 01:36:08

回答

16

其實需要做兩兩件事要做:

config.assets.precompile += %w(*.js *.css) 
描述 here

,並

config.serve_static_assets = true 

本地生產測試使用使用

rail s 

的時候當然

rake assets:precompile 

但是在我的情況下 - 沒有config.assets.precompile這將不起作用,因爲清單沒有包含任何對我的JavaScript文件的引用。

HTH。

+0

謝謝,你救了我幾個小時。我嘗試了以上所有內容,除了......「config.assets.precompile + =%w(* .js * .css)」。訣竅 – 2012-04-25 08:31:38

+0

經過3個小時的類似的問題,其中資源可用於開發,但不是在生產...在production.rb這兩行救了我!現在開發和生產的行爲是一樣的! – ATSiem 2013-05-14 01:56:29

4

儘量只:

rake assets:precompile 

我有類似的問題,並且已經奏效。 您也可以刪除/public/assets目錄的內容並嘗試再次運行它。

+0

謝謝,對我有用=] – 2014-01-28 17:16:40