Вопрос по ruby-on-rails, ruby – Как обернуть link_to вокруг некоторого HTML-кода ruby?

113

Как обернуть ссылку вокруг кода представления? Я не могу понять, как передать несколько строк с кодом 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>

Ваш Ответ

5   ответов
12

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

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

например

<%= link_to 'some_controller_name/some_get_request' do %>
  Hello World
<% end  %>
Error: User Rate Limit Exceeded
8

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

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

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

Итак, вы делаете

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

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

РЕДАКТИРОВАТЬ: Добавлено= персонажа за комментарий Амина Арианы ниже.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededstackoverflow.com/questions/796087/make-a-div-into-a-linkError: User Rate Limit Exceeded
-1

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

<% link_to raw(html here), @album %>
Error: User Rate Limit ExceededrawError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded<%=Error: User Rate Limit Exceeded<%.)
6

Ты можешь использоватьlink_to с блоком:

<% link_to(@album) do %>
    <!-- insert html etc here -->
<% end %>
Error: User Rate Limit Exceeded
link_to требует & apos; = & apos; показать (даже с блоком)

Похожие вопросы