2011-11-25 18 views
39

he el siguiente código:Cómo agregar la clase a un image_tag carriles ayudante

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

Pero el HTML representado muestra:

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

Por qué el atributo "clase" no está ahí?

¡Gracias!

+2

Tal vez a causa de sus paréntesis alrededor (: pequeño) ... tratar image_tag (iterator.image. url (: small),: class => "img_preview") (con paréntesis alrededor) – Damien

+0

Noup .... que tampoco funcionó = S – content01

+1

Utilizo de esta manera, aquí funciona. '<% = image_tag 'delete.png',: class =>" ajax-delete "%>' 'Delete' –

Respuesta

83

Su clase debe asignarse dentro de los corchetes para ser utilizada como parte de las opciones que se pasan. Proveedores:

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

De esta manera está pasando la opción ': class' al método' url', que es muy poco probable que funcione (¿por qué el método 'url' tiene algún conocimiento de qué etiqueta HTML se está usando?). Tengo la sensación de que lo que realmente quiso decir fue 'image_tag (iterator.image.url (: small),: class =>" img_preview ")'. –

+0

Urg. Tienes razón. He estado mirando mi pantalla demasiado tiempo. – Simpleton

6

Para los novatos como yo, aquí está una versión más limpia con la sintaxis rieles nuevos:

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

El código aceptado funciona, pero es más limpio. ¡Gracias! – skwidbreth

+0

Para ser quisquilloso, debe haber un espacio entre 'clase' y' "img_preview" '. Además, esta sintaxis es de Ruby 1.9+ y no es específica de Rails (solo Ruby). Pero sí, esto es más lindo :) – BalinKingOfMoria

Cuestiones relacionadas