2013-07-09 75 views
0

在推送到Heroku之前,我們正在本地預編譯我們的資產 - 所以Heroku在生產中大部分使用的公共/資產中有大量文件 - 我們是在0ms的日誌中查看資產編制筆記。不過,當Heroku在我們的佈局標題中獲得javascript_include_tag "application"並且嘗試重新編譯所有js時,我們會收到超時錯誤。Heroku編譯本地預編譯的資產

這是否意味着會發生?我們如何才能讓Heroku僅使用本地編譯的資源,而不再花費50s來重新編譯資源?擴大dynos確實有所幫助,但這並不能真正解決根本原因。

//編輯解釋我們如何使用資產管道//

我們在應用程序/資產/ JavaScript的所謂的application.js文件 - 這是清單文件是指所有我們需要加載的JavaScript。這裏有一個片段:

//= require js/libs/jquery-1.7.2.min 
//= require js/libs/jquery-ui-1.8.21.custom.min 
//= require js/libs/jquery.ui.touch-punch.min 
//= require js/libs/less-1.3.0.min 
//= require js/libs/modernizr-2.5.3.min 

此文件中有55行。

然後,我們在app/views/layouts/application.html.haml中使用javascript_include_tag "application"來調用該清單文件。

回答

0

有使用在Heroku上的Rails資產管道的多種方式,和你不給我們太多的實現細節,我可以推薦的唯一的事情就是閱讀本: https://devcenter.heroku.com/articles/rails-asset-pipeline

如果更新的問題精確的實施細節我可以嘗試變得更有幫助。

+0

許多感謝的留言 - 問題編輯。 – snowangel

+0

你是否將public/assets文件夾推送到Git(包括manifest.yml)? –

+0

是的,當我們推向Heroku時,它正在被識別。 – snowangel

0

檢查配置/環境/ production.rb設置:

config.assets.compile = false 
config.assets.initialize_on_precompile = true