Как мне обернуть ссылку на какой-то html-код ruby?



Как мне обернуть ссылку вокруг кода представления? Я не могу понять, как передать несколько строк с кодом Ruby в один link_to метод. Результат, который я ищу, заключается в том, что вы нажимаете столбец и получаете страницу показа:



<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>
478   5  

5 ответов:

link_toпринимает блок кода (>=Rails 2.2), который он будет использовать в качестве тела тега.

Итак, ты

<%= link_to(@album) do %>
  html-code-here
<% end %>

но я совершенно уверен, что в гнездо a div внутри a тег не является допустимым HTML.

правка: добавил = характер в комментарии Амина Арианы ниже.

кроме того, это может быть проблемой для некоторых:

обязательно писать <%= Если вы делаете простую ссылку с кодом в нем вместо <%.

например

<%= link_to 'some_controller_name/some_get_request' do %>
  Hello World
<% end  %>

для старых версий Rails вы можете использовать

<% content_tag(:a, :href => foo_path) do %>
  <span>Foo</span>
<% end %>

можно использовать link_to блок:

<% link_to(@album) do %>
    <!-- insert html etc here -->
<% end %>

немного запаздываю с этим ответом, я знаю , но я был направлен сюда сегодня и не нашел хорошего ответа. Должно работать следующее:

<% link_to raw(html here), @album %>

Comments

    Ничего не найдено.