10

所以我有这个:

<%= link_to(image_tag(@model.picture.url(:thumb), :alt => ''), "/pages/you/#{something.id}", {:id => "y_link_#{something.id}"}) %>

哪个有效,但我需要一个跨度也像这样:

 <a id="y_link_2" href="/pages/you/2" class="">
     <span>Apples</span>
     <img src="another_small.jpg?1236340989" alt="">
 </a>

如何添加

 <span>Apples</span>

link_to

4

4 回答 4

18

向您的 link_to 调用提供一个块:

<% link_to("/pages/you/#{something.id}", {:id => "y_link_#{something.id}"}) do %>
  <%= content_tag(:span, 'Apples') %>
  <%= image_tag(@model.picture.url(:thumb), :alt => '') %>
<% end %>

或者:

<% link_to("/pages/you/#{something.id}", {:id => "y_link_#{something.id}"}) do %>
  <span>Apples</span>
  <%= image_tag(@model.picture.url(:thumb), :alt => '') %>
<% end %>
于 2011-01-14T04:30:14.280 回答
12

image_tagcontent_tag返回基本字符串,因此可以使用+运算符轻松连接它们:

<%= link_to(content_tag(:span, "Apples") + image_tag(@model.picture.url(:thumb), :alt => ''), "/pages/you/#{something.id}", {:id => "y_link_#{something.id}"}) %>

但是,正如您所看到的,它变得非常混乱 - 可能值得将其移动到辅助方法中。

于 2011-01-14T04:26:41.423 回答
0

Haml非常适合此类情况。例如:

= link_to "/pages/you/#{something.id}", id: "y_link_#{something.id} do
    %span Apples
    = image_tag(@model.picture.url(:thumb), alt: '')

或者

%a[something, 'y_link']{href: "/pages/you/#{something.id}"}
    %span Apples
    %img{src: @model.picture.url(:thumb)}

如果您想更快地编写视图并更好地阅读它们,那么值得学习。

于 2014-06-28T23:24:21.360 回答
0

对于路径,使用这样的结构

<%= link_to edit_section_path(@section) do %>
   Edit
   <span class="fa fa-list pull-right"></span>
<% end %>
于 2016-01-30T14:04:24.183 回答