J'ai ce code:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook", :target => "_blank"),
"http://www.facebook.com/mypage" %>
Comment puis-je le faire ouvrir dans un nouvel onglet lorsqu'un utilisateur clique sur le lien?
Le paramètre target: :_blank
Doit être un paramètre de link_to
, Alors que vous le placez dans les paramètres image_tag
. Modifiez votre code comme ceci:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %>
Ou avec un bloc:
<%= link_to "http://www.facebook.com/mypage", target: :_blank do %>
<%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>
<% end %>
Essaye ça:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
Vous pouvez aussi utiliser target: :_blank
au lieu de 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 %>
Si vous cherchez comment ouvrir un lien dans un nouvel onglet au format HTML (pour quiconque est venu ici de Google), ici:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
Ma compréhension est la suivante: vous pouvez demander au navigateur d’ouvrir un nouvel onglet ou un nouveau site. Mais cela dépend des paramètres de l'utilisateur. Je considère que cette question a répondu.
Sauf que je suis tombé dans un piège quand il est nécessaire de séparer les options de lien des options html:
link_to(name = nil, options = nil, html_options = nil, &block)
Exemple:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })