2011-11-25 61 views
39

我有以下代碼:如何添加類的IMAGE_TAG軌幫手

<%= image_tag iterator.image.url(:small), :class => "img_preview" %> 

但是呈現的HTML顯示:

<img src="/actives/hotels/13/small/clean_wave.jpg?1317675452" alt="Clean_wave"> 

爲什麼 「class」 屬性,不是嗎?

謝謝!

+2

因爲你的括號也許周圍(:小)...嘗試IMAGE_TAG(iterator.image。 url(:small),:class =>「img_preview」)(括號全部都是) – Damien

+0

Noup ....那也不管用= S – content01

+1

我用這種方式,這裏有效。 '<%= image_tag'delete.png',:class =>「ajax-delete」%>' 'Delete' –

回答

83

您的課程必須在方括號內進行分配,以用作要傳遞的選項的一部分。嘗試:

<%= image_tag(iterator.image.url(:small), :class => "img_preview") %> 
+1

通過這種方式,您可以將':class'選項傳遞給'url'方法,這很不可能工作(爲什麼'url'方法會知道它使用了什麼HTML標記?)。我有一種感覺,你真正的意思是'image_tag(iterator.image.url(:small),:class =>「img_preview」)'。 –

+0

Urg。你是對的。一直盯着我的屏幕太久。 – Simpleton

6

對於像我這樣的新手,繼承人清潔版本較新的軌道語法:

<%= image_tag iterator.image.url(:small), class:"img_preview" %> 
+0

接受的代碼有效,但這是更清潔。謝謝! – skwidbreth

+0

要挑剔,在'class'和'「img_preview」'之間應該有一個空格。另外,這個語法是從Ruby 1.9+開始的,它並不是Rails特有的(只是Ruby本身)。但是,這是更好的:) – BalinKingOfMoria