2011-01-14 25 views
10

所以我有這樣的:如何在的link_to添加一個跨度的圖像

<%= 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

回答

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}"}) %>

然而,正如你所看到的,它變得相當混亂 - 可能是值得移動到一個輔助方法。

17

飼料到您的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 %> 
0

Haml很適合這樣的情形。例如:

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

Alternatively

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

這是值得學習的,如果你想更快寫你的意見,更好地閱讀。

0

對於路徑,使用結構像這樣

<%= link_to edit_section_path(@section) do %> 
    Edit 
    <span class="fa fa-list pull-right"></span> 
<% end %> 
相關問題