est-il possible d'ajouter du contenu html dans un assistant link_to en HAML?
j'ai essayé cela, mais tout ce que j'obtiens est une erreur de syntaxe:
= link_to "Other page", "path/to/page.html"
%span.icon Arrow
production attendue:
<a href="path/to/page.html">Other Page<span class="icon">Arrow</span></a>
Vous devez utiliser le bloc
= link_to "path/to/page.html" do
Other page
%span.icon Arrow
Si quelqu'un utilise toujours Rails 2.x sur un projet, il semble que la réponse acceptée renvoie le bloc, dupliquant ainsi le lien dans le balisage. Changement très simple: utilisez -
au lieu de =
- link_to "path/to/page.html" do
Other page
%span.icon Arrow
La façon la plus simple de le faire est d'utiliser html_safe ou des fonctions brutes
= link_to 'Other Page<span class="icon"></span>'.html_safe, "path/to/page.html"
ou en utilisant la fonction brute (recommandé)
= link_to raw('Other Page<span class="icon"></span>'), "path/to/page.html"
Aussi simple que cela puisse être !!
N'utilisez pas la méthode html_safe sauf si vous êtes sûr que votre chaîne n'est pas nulle. Utilisez plutôt la méthode raw (), qui ne déclenchera pas d'exception sur nil.