2011/05/30

Rails3のlink_toヘルパーで、画像と文字列にリンクを貼る

やりたいこと

<a href="リンク先URL">
<span>文字列</span>
<img src="画像パス" alt="あうあう">
</a>   

普通(?)にlink_toでやると

<%= link_to リンク文字列, リンク先情報 %>
こう?でもこれだと出力は
<a href="リンク先URL">リンク文字列</a>                       
になっちゃう。

これだとタグがエスケープされちゃう

<%= link_to("文字列", リンク先URL) %>
し、imgタグもなんか入れにくい

それlink_toのブロック構文でできるよ

<% link_to "リンク先情報" do %>                                                                                              
  <span>文字列</span> 
  <%= image_tag("画像パス", :alt => 'ほげほげ' %>
<% end %>
出力
<a href="リンク先URL">
  <span>文字列</span>
  <img src="画像パス" alt="ほげほげ">
</a>
できたわーい!

※上記の例だと最初からそのままaタグ書けばいいじゃんって思えるけど
 "リンク先情報"の部分で
 「:controller => 'hoge', :action => 'fuga'」
 とか指定したいのでlink_toを使ってます。image_tagも似たような感じ。

コメントを投稿

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification