2015-11-17 130 views
5

我想是這樣的,以取代<%= link_to image_tag ("picture.png"):在file.html.erb如何在ERB中編寫像<img>標籤的純HTML?

<img src="/path/picture.png" />但是當我這樣做,它的作品沒有任何錯誤,但沒有圖片顯示在頁面上。

+1

哪些Rails的您使用的版本?並且您是否使用Asset pipeline概念? – Jenorish

+0

'rails -v'輸出這個'Rails 4.2。4' – shravan

+0

在同一時間,你在哪裏把'picture.png'文件放在你的應用程序中? –

回答

3

所以,這裏是我對你的回答:

默認情況下,鐵軌將從public內部服務您的所有資產夾。

您可以將圖像放入assets/images文件夾中並渲染那些因爲assets pipeline

但是,如果你要使用本機

<img src="/path/picture.png" /> 

就像你在你的問題問,那麼你應該明白,路徑你在你的src(SRC =「/路徑/ picture.png指定「)將相對於您的應用程序的public文件夾。

爲了使上述工作,picture.png將不會被放置在app/assets/images/picture.png,但應放置在public/path/picture.png

按照慣例,雖然,你將要放置在圖片:

public/images/picture.png 

所以,你應該再使用img標籤在你的看法如下:

<img src="/images/picture.png" /> 

這將正常工作爲你的問題的目的。

3

你可以這樣做:

<img src="<%= image_path('picture.png') %>" /> 

但我不明白爲什麼這是優於:

<%= image_tag("picture.png") %> 
0

如果您使用Rails 4.2,您必須使用資產管道,

因此您應該使用image_tagimage_path而不是srcHtml標記。

Ex。

image_path("rails.png") # => "/assets/rails.png" 

<img src="<%= image_path('rails.png') %>" /> 

image_tag("rails.png") 
    # => <img alt="Rails" src="/assets/rails.png" /> 

請閱讀asset_pipeline

+0

'asset_pipeline'鏈接很棒,您建議的解決方案無效。 – shravan

0

爲了使放置在app/assets/images目錄圖像picture.png,你也可以直接指定作爲圖像路徑assets目錄:

<img src="/assets/picture.png" /> 
相關問題