Antworten:
Der target: :_blank
Parameter sollte ein Parameter von sein link_to
, während Sie ihn in image_tag
Parameter einfügen. Ändern Sie Ihren Code wie folgt:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %>
Oder mit einem Block:
<%= link_to "http://www.facebook.com/mypage", target: :_blank do %>
<%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>
<% end %>
Versuche dies:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
Sie können auch target: :_blank
anstelle von verwendentarget: '_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 %>
Wenn Sie suchen, wie Sie einen Link in einem neuen Tab in HTML öffnen können (für alle, die von Google hierher gekommen sind), hier:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
target: :_blank
bedeutet.
Mein Verständnis ist: Sie können den Browser bitten, einen neuen Tab oder eine neue Site zu öffnen. Dies hängt jedoch von den Benutzereinstellungen ab. Ich halte diese Frage für beantwortet.
Außer ich bin in eine Falle geraten, wenn es notwendig ist, die Linkoptionen von den HTML-Optionen zu trennen:
link_to(name = nil, options = nil, html_options = nil, &block)
Beispiel:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })
Um die vorherige Antwort zu ergänzen, wird das folgende Format von rubocop vorgeschlagen. Dies kann ein Sicherheitsrisiko darstellen, da die geladene Seite die Kontrolle über die vorherige Seite hat und ihren Speicherort für Phishingzwecke ändern kann.
Um dies zu verhindern, muss dem Code das Attribut 'rel' hinzugefügt werden.
rel: 'noopener'
Jetzt sollte der link_to sein:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank, rel: 'noopener %>