web-dev-qa-db-fra.com

Ajout d'une balise span dans Rails link_to

J'ai regardé sur SO pour savoir comment ajouter une balise <span> mais je n'ai pas vu d'exemple qui plaçait le <span> là où je veux en utilisant Rails 3 link_to:

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

J'ai essayé quelque chose comme:

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

Mais ça n'a pas marché.

30
tvalent2

link_to peut prendre un bloc donc je pense que vous voulez quelque chose comme ça:

<%= link_to '#', :class => 'button white' do %>
    <span id="span">My span&nbsp;</span><%= @user.profile.my_data %>
<% end %>
78
mu is too short

Une combinaison de .html_safe avec #{@user.profile.my_data} devrait également fonctionner.

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

Vous pouvez également utiliser un content_tag pour ressembler à ceci: 

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

Ils sont fondamentalement identiques, mais on pourrait être plus facile pour les yeux. De plus, je suis assez novice en codage, donc si c'est totalement faux, pour une raison folle, merci de commenter et je changerai. Merci.

9
Joe Susnick
link_to '#', :class => 'button white' do
  <span id="span">My span&nbsp;</span>My data
end
3
Arun Kumar Arjunan

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
0
mdev