私はこのコードを持っています:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook", :target => "_blank"),
"http://www.facebook.com/mypage" %>
ユーザーがリンクをクリックしたときに新しいタブで開くにはどうすればよいですか?
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 %>
これを試して:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
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>
私の理解では、新しいタブまたは新しいサイトを開くようブラウザに依頼できます。ただし、これはユーザー設定に依存します。この質問に答えたと思います。
リンクオプションをhtmlオプションから分離する必要があるときに私がtrapに陥ったことを除いて:
link_to(name = nil, options = nil, html_options = nil, &block)
例:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })