46 votes

place des balises haml dans link_to helper

est-il possible d'ajouter du contenu HTML dans un helper link_to dans HAML?

J'ai essayé cela, mais tout ce que je reçois 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>
 

106voto

Michał Szajbe Points 4022

Vous devriez utiliser le bloc

 = link_to "path/to/page.html" do
  Other page
  %span.icon Arrow
 

11voto

Paul Points 1013

Si quelqu'un utilise encore Rails 2.x dans 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
 

5voto

Nikhil Nanjappa Points 243

Le moyen le 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 une 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 lève pas d'exception sur nil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X