2011-11-23 35 views
3

我正在使用rails 3.1及更低版本的資產管道。rails 3.1 +資產管道+ webrick返回406請求到/ images/

我有我的圖像存儲在應用程序/資產/圖像。

我.css.less文件

我有:

background-image: url('image.gif'); 

當樣式表被編譯,它如下呈現的圖像的路徑:

background-image: url('/images/image.gif') 

通過時請求這些圖像webrick,webrick爲這些請求返回了一個406錯誤代碼。手動請求http://localhost/images/image.gif也返回一個406.

但是,http://localhost/assets/image.gif的請求工作得很好。

當我通過乘客訪問導軌服務器時,使用/images/image.gif路徑工作,與/assets/image.gif一樣。

我也嘗試將文件更改爲.erb文件,然後使用asset_path,具有相同的結果。

我也試圖通過在.css.less文件中使用該手動強制/assets路徑:

background-image: url('/assets/image.gif') 

但仍然編譯css文件使用/images/image.gif

回答

2

試試這個:

background-image:asset-url('image.gif',image);

+0

我沒有使用sass,我知道應該支持asset-url。它似乎不適用於Less。有些東西在線說asset_url應該作爲ruby代碼工作,但是這種方法在我的環境中無法識別。我注意到,在我的鏈輪寶石來源中,函數asset_url被定義,但都是空的並被註釋掉。 – kclair

+0

看起來像少軌道寶石缺少資產助手來創建圖像的正確路徑。 https://github.com/metaskills/less-rails/issues/1 - 看起來像這些添加在未發佈的版本2.0.2 – kclair