2012-05-09 12 views
4

我已將我的heroku上的應用升級到雪松堆棧,以便資產管道工作。我按照heroku's docs中的說明選擇本地編譯資產。爲什麼耙子資產:在開發中預先編譯會導致問題,但不在我的生產環境中

這創建了一個目錄public/assets。生產中的一切都很完美(css,js,沒有問題)。回到我的開發環境似乎會導致js無法正常工作。

環境/ production.rb

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

環境/ development.rb

config.assets.compress = false 
config.assets.debug = true 
config.assets.compile = true 

我檢查了源頁面和所有文件得到沒有重複的條目正確加載。我已經讀過一些關於是在本地還是在生產中編譯資產的問題,但他們似乎都沒有幫助。是否還有其他東西,我錯過了恢復我的發展JavaScript代碼,並且這是正確的程序要遵循?謝謝

回答

6

好吧,我似乎已經解決了它。

在環境/ development.rb改變這一行

config.assets.debug = true 

這個

config.assets.debug = false 

不知道爲什麼這工作,但讀取導軌導向和報價:

「當調試模式關閉時,Sprockets連接並運行必要的預處理器在所有文件上。隨着調試模式下關閉清單上面會產生,而不是:」

<script src="/assets/application.js" type="text/javascript"></script> 

希望這可以幫助別人類似問題

+0

我結束了在這個解決方案也只見那** config.assets.debug * *導致瀏覽器下載**「// = require」**指令中指定的javascript文件,但由於**「// = require」**指令,Rails還將JavaScript文件連接在一起。所以,我的頁面上的那些javascript被運行兩次。 –

相關問題