2012-02-24 55 views
1

我試圖鏈接到導軌中的圖像,它不工作。我可以鏈接到assets/file.css以及assets/file.js,但assets/file.jpg不起作用。導軌圖像斷開的鏈接

我試過一個新的rails新project_name,當我打開主頁和導軌標誌不顯示。

作爲一個方面的問題,

我怎麼軌只加載的application.js和application.css

我看到,如果我刪除?從URL體= 1它壓縮他們都到一個文件中,但是當我使用下面的代碼查看頁面時,它會將這些文件留空,並將它們作爲單獨的腳本一個一個地包含在內。

<%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
+0

你在圖像請求的服務器日誌中得到了什麼? – sarnold 2012-02-24 00:08:44

+0

您使用的是哪種版本的rails,這個資產文件夾在哪裏? – apneadiving 2012-02-24 00:11:34

+0

rails 3.2.1,app/assets/images – Tallboy 2012-02-24 00:13:03

回答

3

好了,所以這是一個預期的行爲,你必須使用Rails的助手:

<%= image_tag "file.jpg" %> 

你的CSS文件應該.erb。在它內部,使用:

.class { background-image: url(<%= asset_path 'image.png' %>) } 

參考是第2.2.1段here

+0

如果它在樣式表中呢? – Tallboy 2012-02-24 00:18:30

+1

如果它在樣式表中,則向該樣式表添加sass(如果尚未),並使用'image-url'。 – 2012-02-24 00:28:51

+0

@Tallboy我剛剛編輯了我的答案 – apneadiving 2012-02-24 00:32:08

2

我只是檢查我的代碼和我的CSS是這樣的:

background-image:url(/assets/pinstripes.jpg); 

與上傳到應用程序/資產/圖像,當然形象。這看起來像你正在使用的,但我無法確定。

+0

爲了在生產中自動引用md5哈希文件名,你應該使用scss和'image-url'來代替。第2.2.2節:http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets – James 2012-02-24 03:16:04

+0

我不知道你可以這樣做直到我看到了上面的答案!將改變我的。 – ellawren 2012-02-24 13:31:40