Quelle est la meilleure façon de faire pour incorporer du HTML dans le corps d'un lien généré avec la méthode link_to?
Je veux essentiellement ce qui suit:
<a href="##">This is a <strong>link</strong></a>
J'ai essayé de m'y prendre comme suggéré dans Rails et la balise <span> mais sans succès. Mon code ressemble à ceci:
def picture_filter
#...Some other code up here
text = "Show items with " + content_tag(:strong, 'pictures')
link_to text, {:pics => true}, :class => 'highlight'
end
#...
<%=raw picture_filter %>
#...
Essayez-le de cette façon
<%= link_to(raw("a <strong>strong</strong> link"),{:pics => true},{ :class => 'highlight'}) %>
= link_to "http://www.example.com" do
<strong>strong</strong>
Depuis 2016, je préfère cette méthode.
<%= link_to url: my_path do %>
This is a <strong>ape</strong>
<% end %>
vous pouvez utiliser html_safe
<%= link_to ("<i class='someIcon'></i> Link").html_safe %>
Je ne sais pas si c'est la meilleure façon.
Mais j'ai réussi à jalonner de nombreux assistants d'affichage dans l'appel content_tag.
L'appel d'un .html_safe peut également ne pas nuire.
link_to(content_tag(:span, "Show yada " + content_tag(:strong, "Pictures")), {:pics => true})