首页 文章

如何围绕某些html ruby代码包装link_to?

提问于
浏览
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 回答

  • 260

    link_to takes a block of code(> = Rails 2.2)它将用作标签的主体 .

    所以你也是

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

    But 我很确定在 a 标签内嵌套 div 是无效的HTML .

    编辑:在Amin Ariana的评论下面添加 = 字符 .

  • 12

    此外,这可能是一些问题:

    如果您正在使用其中的代码而不是 <% 进行简单链接,请务必编写 <%= .

    例如

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

    对于较旧的Rails版本,您可以使用

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

    您可以将 link_to 与块一起使用:

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

    我知道这个回复有点滞后 - 但今天我被引导到这里,并没有找到一个好的答案 . 以下应该有效:

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

相关问题