2013-05-03 44 views
18

我已經開始開發簡單的rails應用程序。經過幾個小時的工作,我已經注意到,刪除的CSS仍然適用於網頁。究竟是什麼「config.assets.debug」設置呢?

爲了解決這個問題,我執行以下操作幾次:

  1. 停止/啓動服務器
  2. 使用導軌服務器
  3. 使用torquebox服務器
  4. 刪除瀏覽器緩存

但沒有任何變化。這很奇怪 - 新的CSS定義已經被應用,但是我刪除的那些仍然存在。所以,我放棄了並決定創建新項目。

我已經建立了新項目(它的腳手架和第一個一樣),當我打開其中一個視圖時,舊項目的樣式也被應用了。我決定再次查看http://guides.rubyonrails.org/asset_pipeline.html並找出設置

#Expands the lines which load the assets 
config.assets.debug = false 

解決了這個問題。但是,這個選擇究竟在做什麼?爲什麼舊的項目被應用,當這是真的?

+0

我認爲在文檔http://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-off中明確提到,儘管你的情況很奇怪。 – 2013-05-20 14:29:43

回答

27

該選項的效果在this post中有很好的描述,但我也將在此進行總結。改變config.assets.debug的價值在於開發中的頁面加載時間和易於調試之間的折中。

基本上是:

config.assets.debug = true:資產分別擔任,就像你在發展看他們組織的。像SASS或CoffeeScript這樣的預處理語言仍然會顯示爲它們的目標語言(分別是CSS和JS)。

config.assets.debug = false:資產被捆綁到文件中,如application.cssapplication.js。錯誤堆棧跟蹤可能不會再有正確的行號,並且將它們映射回您的原始代碼更爲困難。