2012-08-26 33 views
115

tôi có mã này:Rails: Mở liên kết trong tab mới (với 'link_to')

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

Làm thế nào tôi có thể làm cho nó mở trong một tab mới khi người dùng nhấp vào liên kết?

Trả lời

214

Thông số target: :_blank phải là thông số link_to, trong khi bạn đặt thông số trong thông số image_tag. Sửa đổi mã của bạn như thế này:

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

Hoặc với một khối:

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

Hãy thử điều này:

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

Nếu bạn đang tìm kiếm làm thế nào để mở một liên kết trong một tab mới trong html (đối với bất kỳ ai đến đây từ Google), tại đây:

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

Tôi sẽ không để downvote bạn, nhưng trang này là đặc biệt về link_to Ruby (từ tiêu đề). –

+0

@HerbMeehan Tôi không chắc liệu có nên upvote hay không, nhưng nó rất hữu ích trong việc giải thích ý nghĩa của 'target:: _blank'. –

4

Bạn cũng có thể sử dụng target: :_blank thay vì target: '_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 %> 
Các vấn đề liên quan