rails multiple link_to_if link_to link example ruby hyperlink haml

ruby - multiple - poner etiquetas haml dentro de link_to helper



rails link_to controller action (3)

¿es posible agregar contenido html dentro de un link_to helper en HAML?

Intenté esto, pero todo lo que obtengo es un error de sintaxis:

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

Rendimiento esperado:

<a href="path/to/page.html">Other Page<span class="icon">Arrow</span></a>


Deberías usar block

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


La forma más sencilla de hacerlo es mediante el uso de funciones html_safe o raw

= link_to ''Other Page<span class="icon"></span>''.html_safe, "path/to/page.html"

o usando la función sin procesar (recomendado)

= link_to raw(''Other Page<span class="icon"></span>''), "path/to/page.html"

Tan simple como puede ser !!

No use el método html_safe a menos que esté seguro de que su cadena no es nula. En su lugar, use el método raw (), que no generará una excepción en nil.


Si alguien todavía está utilizando Rails 2.x en un proyecto, parece que la respuesta aceptada devuelve el bloque, duplicando así el enlace en el marcado. Cambio muy simple: uso - lugar de =

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