url_for ror rails links link_to link button_to _blank ruby-on-rails hyperlink

ruby-on-rails - ror - rails link_to params



link_to image_tag con texto interno o html en rieles (8)

Quiero mostrar lo siguiente con los métodos de Ruby on Rails link_to y image_tag :

<a href="#">Lorem Ipsum <img src="/images/menu-arrow-down.gif"></a>

¿Cuál sería una buena manera en Rails?


¿Por qué no usar un enlace y una etiqueta de imagen?

<%= link_to "hiii #{image_tag(yourimagepath)}", "link_path" %>

También puedes probar el agregado hecho anteriormente ( string + image_tag ), pero arrojará un error si una de esas cosas se vuelve nil . Usando la interpolación, solo mostrará una imagen en blanco (o cadena) si es nil .

Para Rails 3, necesitarás usar html_safe :

<%= link_to "hiii #{image_tag(yourimagepath)}".html_safe, "link_path" %>


Descubrí esto también que funcionó.

link_to(image_tag("/images/linkd.png",:alt=>"twt"){},:href=>"some_url",:target=>"_blank")


Esta es una manera excelente de usar un enlace para incluir una imagen y un correo para enviar texto con texto (se muestra al lado de la imagen):

<%= link_to image_tag("image.png") + " [email protected]", href: "mailto:[email protected]" %>

Dándole algo como esto en su vista (toda la imagen y el texto se convierten en un correo a href):


O una forma más corta es

<%= link_to image_tag(''image/someimage.png'') + "Some text", some_path %>


Parece que no puedo encontrar la manera de agregar un comentario a la respuesta de @ corroded. Sin embargo, si está utilizando Rails 3, su respuesta no funcionará como se esperaba. Puede que no sea inmediatamente obvio cómo solucionar esto, al menos no fue para mí. Sabía que necesitaba agregar html_safe , pero lo puse en el lugar equivocado. En retrospectiva, fue obvio, pero pensé que lo incluiría aquí para otros como yo que cometen el error "novato".

<%= link_to "hiii #{image_tag(yourimagepath)}".html_safe, "link_path" %>

sin embargo, tenga cuidado, si está usando una variable asignable por el usuario para "hiii", primero debe desinfectarla.

<%= link_to (h(my_model.some_string) + image_tag(yourimagepath)).html_safe, "link_path" %>

Tenga en cuenta que no hay problema con que my_model.some_string o yourimagepath sean nulos porque tanto h () como image_tag () devuelven cadenas cuando se pasan nulos .


Prefiero este enfoque en HAML

= link_to root_path do = image_tag "ic_launcher.png", size: "16x16" Home


Puede usar bloques como alternativa a la interpolación de cadenas con el uso correcto de html_safe . Por ejemplo:

<%= link_to ''#'' do %> Lorem Ipsum <%= image_tag(''/images/menu-arrow-down.gif'') %> <% end %>


link_to(image_tag("image.png", :alt => "alt text", :class =>"anyclass"), image_url)