Answers:
该 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 %>
您也可以使用target: :_blank
代替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 %>
如果您正在寻找如何在html中的新标签中打开链接(对于任何来自Google的人),请点击以下网址:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
target: :_blank
含义时很有用。
要添加到先前的答案,以下格式是rubocop建议的格式。这可能会带来安全风险,因为加载的页面将控制上一页,并且可能会更改其位置以进行网络钓鱼。
为了防止这种情况,需要在代码上添加'rel'属性。
rel: 'noopener'
现在link_to应该是:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank, rel: 'noopener %>