2012-08-26 34 views
115

打开链接我有这样的代码:Rails的:在新标签页(用“的link_to”)

<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook", :target => "_blank"),     
      "http://www.facebook.com/mypage" %> 

我怎样才能使它在当用户点击该链接一个新标签中打开?

回答

214

参数target: :_blank应该是link_to的参数,而您把它放在image_tag参数中。修改你的代码是这样的:

<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %> 

或者用块:

<%= link_to "http://www.facebook.com/mypage", target: :_blank do %> 
    <%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>  
<% end %> 
13

试试这个:

<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %> 
3

如果你正在寻找如何在新标签中打开链接在html中(对于任何人来自谷歌),在这里:

<a href="http://www.facebook.com/mypage" target="_blank">Link name</a> 
+8

我不会downvote你,但这个页面是专门关于Ruby的的link_to(从标题)。 –

+0

@HerbMeehan我不确定是否要upvote,但它在解释'target::_blank'的含义方面很有用。 –

4

您还可以使用的,而不是target: :_blanktarget: '_blank'

<%= link_to image_tag("facebook.png", class: "facebook_icon", alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %> 

link_to do

<%= link_to "http://www.facebook.com/mypage", target: :_blank do %> 
    <%= image_tag "facebook.png", class: "facebook_icon", alt: "Facebook" %> 
<% end %>