Yanıtlar:
target: :_blank
Parametre bir parametre olmalıdır link_to
Bunu koyabileceğim oysa image_tag
parametreler. Kodunuzu şu şekilde değiştirin:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %>
Veya bir blokla:
<%= link_to "http://www.facebook.com/mypage", target: :_blank do %>
<%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>
<% end %>
Bunu dene:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
Bunun target: :_blank
yerinetarget: '_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 içindeki yeni bir sekmede nasıl bağlantı açacağınızı arıyorsanız (buraya Google'dan gelen herkes için), burada:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
target: :_blank
anlama geldiğini açıklamakta fayda var .
Anladığım kadarıyla: tarayıcıdan yeni bir sekme veya yeni bir site açmasını isteyebilirsiniz. Ancak bu kullanıcı ayarlarına bağlıdır. Bu sorunun cevaplandığını düşünüyorum.
Dışında bağlantı seçenekleri html seçeneklerinden ayırmak gerektiğinde bir tuzak düştü:
link_to(name = nil, options = nil, html_options = nil, &block)
Misal:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })
Önceki cevaba eklemek için aşağıdaki format rubocop tarafından önerilmektedir. Yüklenen sayfa önceki sayfa üzerinde kontrol sahibi olacağından ve kimlik avı amacıyla konumunu değiştirebileceğinden bu bir güvenlik riski oluşturabilir.
Bunu önlemek için koda 'rel' niteliğini eklemeniz gerekir.
rel: 'noopener'
Şimdi link_to şöyle olmalıdır:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank, rel: 'noopener %>