2012-02-05 81 views
8

我已經將這兩行application.rb中:的Rails 3.2.1 Heroku的資產預編譯錯誤

config.assets.initialize_on_precompile = false 

config.assets.compile = true 

不過,我仍然得到錯誤,當我推到Heroku上:

2012-02-05T09:48:34+00:00 app[web.1]: Completed 500 Internal Server Error in 3ms 
2012-02-05T09:48:34+00:00 app[web.1]: 
2012-02-05T09:48:34+00:00 app[web.1]: ActionView::Template::Error (bootstrap.css isn't precompiled): 

有什麼建議?

+0

當它試圖預編譯你的資產時,heroku會說些什麼(你是在杉樹上嗎?) – 2012-02-05 10:19:37

回答

13

通過它的外觀你有沒有內app/assets/stylesheets如何正確在清單文件中包含一個bootstrap.css文件,並且你可能也直接從stylesheet_tag調用。

有幾個方法可供選擇:

  1. 你可以添加一行到您的環境配置文件,這將確保你調用預編譯的css文件:

config.assets.precompile += %w(bootstrap.css)

例如

...。

  1. 這是我可能會做的;如上所述,將bootstrap.css文件包含在`app/assets/stylesheets'內的清單文件中。您的清單文件看起來像這樣(不知道這樣做的格式將正確地出現在這裏,所以我還創建了一個要點:https://gist.github.com/1753229):

/* * =需要引導 */

/*其餘文件的省略*/

您可能需要要求比,取決於你的CSS的設置是什麼更多的文件。

3

嘗試使用rake assets:precompile,然後提交代碼並將其推送到heroku。

+0

這也有幫助。謝謝。 – 2012-02-07 06:29:37

3

閱讀this,這是一個關於如何獲得rails3.2.1(和ruby 1.9.3)在heroku上運行的教程。你顯然可以跳過你不需要的部分,但它應該解釋爲什麼會出現這些問題以及如何解決這些問題。

另外,閱讀this文章由大衛米,有用asset_sync寶石的作者。它會幫助你解決這個問題。

+0

非常感謝這兩個鏈接。兩者對於讓我的應用加快速度都非常有幫助。不幸的是,這兩件事都沒有幫助我理清我仍然得到的預編譯錯誤。任何其他地方我可以嘗試? – 2012-02-06 15:57:30

+1

看看zoltarSpeaks的答案,它聽起來很有前途 – stephenmurdoch 2012-02-06 22:26:36