¿Cómo puedo envolver el enlace en algún código html ruby?
¿Cómo envuelvo un enlace alrededor del código de la vista? No puedo averiguar cómo pasar varias líneas con código ruby a un único método link_to
. El resultado que estoy buscando es que haga clic en la columna y obtenga la página de presentación:
<div class="subcolumns">
<div class="c25l">
<div class="subcl">
<%= image_tag album.photo.media.url(:thumb), :class => "image" rescue nil %>
</div>
</div>
<div class="c75r">
<div class="subcr">
<p><%= album.created_at %></p>
<%= link_to h(album.title), album %>
<p><%= album.created_at %></p>
<p><%= album.photo_count %></p>
</div>
</div>
</div>
5 answers
link_to
toma un bloque de código (>=Rails 2.2) que usará como el cuerpo de la etiqueta.
Así que, lo haces
<%= link_to(@album) do %>
html-code-here
<% end %>
Pero Estoy bastante seguro de que anidar un div
dentro de una etiqueta a
no es HTML válido.
EDITAR: Añadido =
carácter por el comentario de Amin Ariana a continuación.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-20 09:43:55
También, esto puede ser un problema para algunos:
Asegúrese de escribir <%=
si está haciendo un enlace simple con código en él en lugar de <%
.
Por ejemplo
<%= link_to 'some_controller_name/some_get_request' do %>
Hello World
<% end %>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-20 09:23:42
Para versiones anteriores de Rails, puede usar
<% content_tag(:a, :href => foo_path) do %>
<span>Foo</span>
<% end %>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-06 20:43:46
Puedes usar link_to
con un bloque:
<% link_to(@album) do %>
<!-- insert html etc here -->
<% end %>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-06 10:44:56
Un poco de retraso en esta respuesta, lo sé but pero me enviaron aquí hoy, y no encontré una buena respuesta. Lo siguiente debería funcionar:
<% link_to raw(html here), @album %>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-06 05:48:55