2015-03-03 54 views
0

我在使用FastCGI的DreamHost共享服務器上運行Rails 4應用程序,並且我似乎無法使資產正常工作。Rails 4 + DreamHost FastCGI:預編譯資源不會改變圖像url鏈接

預編譯將用於編譯application.css.scss,但image-urlasset-url鏈接不會更改爲正確的值(例如,url(/assets/images/image-{digest}.png)。

我聽說您可以將其更改爲.css.scss.erb並使用<%= image_tag「image.png」%>,但我寧願不更改文件中的每一個鏈接,如果我可以幫助它。

我錯過了什麼嗎?我跑

bundle exec rake assets:precompile RAILS_ENV=production和我有production.rb

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

什麼都沒有我做了嗎?

回答

0

我得到了在軌-4.2此警告消息。 2:「拒絕警告:配置選項config.serve_static_assets已重命名爲config.serve_static_files來澄清其作用(它只能啓用public文件夾中的所有內容並與資產管道無關)。 Rails 5.0中將刪除serve_static_assets別名。請相應遷移您的配置文件。」

這是在默認情況下我的應用程序創建的線。您應該使用static_files代替。

config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? 

我發現Rails 4: assets not loading in production並添加config.assets.precompile = ['*.js', '*.css', '*.css.erb'],所以你應該能夠有一些像

config.assets.precompile = ['*.png', '*.js', '*.css', '*.css.erb'] 

文件類型只需添加到陣列