2010-04-21 15 views
18

Soy bastante nuevo en Ruby on Rails, y estoy intentando crear algunos elegantes botones CSS usando la técnica de "puertas correderas". Lo tengo casi funcionando, pero creo que tiene que haber una mejor manera de manejar las etiquetas para un enlace.Rails y la etiqueta <span>

La forma en que actualmente lo estoy haciendo:

<%= link_to '<span>New car</span>', {:action => "new"}, :class=>"button" %> 

Esto no es terrible, per se, pero me gustaría saber si esta es la mejor manera de manejar etiquetas span en RoR.

+0

* Hay diferentes maneras *, pero creo que está utilizando la mejor. – Ben

Respuesta

35

Otra opción es la siguiente:

<%= link_to content_tag(:span, 'New car'), {:action => "new"}, :class=>"button" %> 

docs

+2

Bien, esto funciona muy bien. Incluso puede agregar pequeños iconos al botón haciendo: <% = link_to content_tag (: span, 'New Car' + image_tag ("car_add.png")), {: action => "new"},: class => "button"%> –

6

Si todavía sientes curiosidad, aquí hay algunas maneras de reescribir su código:

Uso content_tag:

<%= link_to content_tag("span", "New car"), {:action => "new"}, :class=>"button" %> 

Utilice link_to con un bloque:

<%= link_to {:action => "new"}, :class=>"button" do %> 
    <span>New card</span> 
<% end %> 

Y, por supuesto, se pueden combinar los dos poniendo un content_tag dentro del bloque, pero lo voy a dejar al lector como un ejercicio :)

6

O bien, podría ser pro y el uso llamado rutas/recursos + Haml. Eso sería hacer que parezca:

%a{ :href => new_car_path } 
    %span New Car 

Lo que tienes está bien, aunque ..

+0

Un buen Jimmy. – pjammer

Cuestiones relacionadas