2011-09-27 19 views
28

he mirado en SO acerca de cómo agregar una etiqueta <span> pero no vi un ejemplo que puso el <span> donde quiero usando Rails 3 link_to:etiqueta span en Rails link_to

<a href="#" class="button white"><span id="span">My span&nbsp;</span>My data</a> 

I intenté algo así como:

<%= link_to(content_tag{:span => "My span&nbsp;", :id => "span"} @user.profile.my_data, "#", {:class => "button white"}) %> 

Pero eso no funcionó.

Respuesta

70

link_to can take a block así que creo que lo que busca es algo como esto:

<%= link_to '#', :class => 'button white' do %> 
    <span id="span">My span&nbsp;</span><%= @user.profile.my_data %> 
<% end %> 
+0

Perfecto, gracias! – tvalent2

+0

mu es demasiado corto, si tiene un momento puede echar un vistazo a mi seguimiento de esto. Quiero agregar el valor del enlace que me ayudó a producir en una matriz. http://stackoverflow.com/questions/7564247/adding-items-to-rails-3-array-onclick – tvalent2

3
link_to '#', :class => 'button white' do 
    <span id="span">My span&nbsp;</span>My data 
end 
8

Una combinación de la .html_safe con #{@user.profile.my_data} debería funcionar tan bien.

<%= link_to "<span id='span'>My span&nbsp;</span>#{@user.profile.my_data}".html_safe, "#", class: 'button white' %> 

También puede utilizar un content_tag por lo que se vería así:

<%= link_to(content_tag(:span, "My span&nbsp;", id:"span")+"#{@user.profile.my_data}", "#", class: 'button white' %> 

son básicamente idénticos, pero uno podría ser más fácil en los ojos para ti. Además, soy bastante nuevo en la codificación, así que si esto está completamente mal por algún motivo loco, por favor, solo comenta y lo cambiaré. Gracias.

+2

Esto no está mal, pero 'link_to ... do' estaba destinado exactamente a esto y se ve mucho mejor que su solución IMO. – Mischa

+0

En mi caso, la segunda solución con 'content_tag' funciona solo después de que agregué' html_safe' - '" My span   ".html_safe' y' "# {@ user.profile.my_data}". Html_safe' –

0

En HAML:

= link_to new_post_mobile_path(topic.slug), class: 'add-new-place-btn' do 
    %span{:class => "glyphicon glyphicon-plus", :style => "margin-right: 4px;"} 
    New Place 
Cuestiones relacionadas