Risposte:
Il target: :_blank
parametro dovrebbe essere un parametro di link_to
, mentre lo metti in image_tag
parametri. Modifica il tuo codice in questo modo:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %>
O con un blocco:
<%= link_to "http://www.facebook.com/mypage", target: :_blank do %>
<%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>
<% end %>
Prova questo:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
Puoi anche usare al target: :_blank
posto ditarget: '_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 %>
Se stai cercando come aprire un collegamento in una nuova scheda in HTML (per chiunque sia venuto qui da Google), qui:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
target: :_blank
significa.
La mia comprensione è: puoi chiedere al browser di aprire una nuova scheda o un nuovo sito. Ma questo dipende dalle impostazioni dell'utente. Considero a questa domanda una risposta.
Tranne che sono caduto in una trappola quando è necessario separare le opzioni di collegamento dalle opzioni html:
link_to(name = nil, options = nil, html_options = nil, &block)
Esempio:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })
Per aggiungere alla risposta precedente il formato seguente è ciò che viene suggerito da rubocop. Questo può essere un rischio per la sicurezza poiché la pagina caricata avrà il controllo sulla pagina precedente e potrebbe cambiare la sua posizione a scopo di phishing.
Per evitare ciò, è necessario aggiungere l'attributo 'rel' al codice.
rel: 'noopener'
Ora il link_to dovrebbe essere:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank, rel: 'noopener %>