2013-07-30 46 views
10

我開始在rails中,我有一個在dev(webrick)中工作的應用程序。預編譯的CSS文件未找到與軌4資產管道

的問題是:預編譯的CSS文件中沒有發現生產。

現在我將它託管在heroku上並部署它。我有一條消息說資產是預編譯的(所以這不是編譯錯誤),並且所有設置都是默認設置。

我有ls/public/assets文件夾,裏面的東西都在裏面。我甚至可以通過cat這個應用程序 - * .css文件獲得我應該擁有的全部內容。

現在,當我嘗試訪問的CSS文件,它給了我一個錯誤404(即使壽它的使用<%= stylesheet_link_tag "application", :media => "all" %>自動生成CSS鏈接)。所以很明顯,我沒有硬編碼CSS鏈接的問題。

我不完全確定下一次執行什麼操作。

如果你在輸出好奇,它是目前公開訪問here

回答

14

如果您還沒有這樣做,請嘗試更改配置選項config.serve_static_assets = falseconfig.serve_static_assets = true您的config/environments/production.rb

+0

那麼這似乎是伎倆。現在我只需要找出圖像。 – Erick

+0

@Erick,圖片也應該被這個配置照顧。你看到'public/assets /'目錄中的圖片嗎?順便說一句,你如何引用這些圖像,是否使用'image_path' helper? – vee

+0

我必須admet我通過/assets/something.jpg以硬編碼的方式引用它們。我會嘗試使用image_path幫助程序,然後看看。 – Erick

1

是固定的,對我來說唯一的軌道4,5是

config.assets.compile = true 

config/environments/production.rb

這將回落到資產的管道,如果預編譯的資產錯過了,根據文檔。

+0

文檔也強烈建議永遠不要將它設置爲true在生產中,只是爲了使應用程序工作>理論上,文檔是正確的< – bkunzi01

+0

@ bkunzi01。但實際上,這隻會被編譯一次,所以我可以冒這個風險=) – Abdo

+0

酷你怎麼強制它在部署後只編譯一次?當我允許這個:(我的應用程序的性能被粉碎 – bkunzi01