2014-11-02 24 views
2

我的文件結構,像這樣滑軌從CSS 4資產或圖像路徑

app 
    assets 
    bookshelf 
     assets 
     my_image.jpg 
    images 
     standard_image.png 

在我css.scss文件,無論是在發展這些工作,但他們不生產工作。

#some_div { 
    background: url("standard_image.png") 
} 


#some_div { 
    background: url("assets/my_image.jpg") 
} 

我做了RAILS_ENV=production rake assets:clean assets:precompile。我已刪除我的tmp/cache

我覺得這可能是一個配置問題。我錯過了什麼?

我知道圖像在服務器上。我得到了消化的文件名並將其放入具有生產根地址的網址中。


當我嘗試使用

 background: asset-url("assets/my_image.jpg", image) 

我得到

鏈輪:: Rails的助手:: :: AssetFilteredError在/書籍

資產過濾掉,不會被送達:添加 Rails.application.config.assets.precompile += %w( assets/bookshelf_skin02_top_bg.jpg)config/initializers/assets.rb並重新啓動您r服務器

顯然,我不想在配置中添加每個資產文件。

background: image-url('my_image.jpg');

回答

5

我創建/config/initializers/asset.rb,並把相關的文件擴展名在正則表達式形式:

-1

在你的config /環境/ production.rb

config.assets.compile = true 
+0

我知道,將工作,但它的由於速度,這是一個好主意。還有另外一種方法。 – ahnbizcad 2014-11-03 23:24:32

0

刪除assets文件夾設置爲true。

我相信這個工程,因爲這告訴資產管道預編譯所有的lib或供應商的這些類型的文件,未在軌自動完成的4

# Images 
Rails.application.config.assets.precompile << /\.(?:png|jpg|jpeg|gif)\z/ 

# Fonts 
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/ 
+0

這僅適用於圖像文件夾中的文件,不適用於'vendor/assets'或'lib/assets'內的自定義文件夾 – ahnbizcad 2014-11-07 02:19:27