Jawaban:
The target: :_blank
parameter harus menjadi parameter link_to
, sedangkan Anda memasukkannya ke dalam image_tag
parameter. Ubah kode Anda seperti ini:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %>
Atau dengan blok:
<%= link_to "http://www.facebook.com/mypage", target: :_blank do %>
<%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>
<% end %>
Coba ini:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %>
Anda juga dapat menggunakan target: :_blank
bukannyatarget: '_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 %>
Jika Anda mencari cara membuka tautan di tab baru dalam html (bagi siapa saja yang datang ke sini dari Google), di sini:
<a href="http://www.facebook.com/mypage" target="_blank">Link name</a>
target: :_blank
artinya.
Pemahaman saya adalah: Anda dapat meminta browser untuk membuka tab baru atau situs baru. Tetapi ini tergantung pada pengaturan pengguna. Saya menganggap pertanyaan ini terjawab.
Kecuali saya jatuh dalam perangkap ketika perlu untuk memisahkan opsi tautan dari opsi html:
link_to(name = nil, options = nil, html_options = nil, &block)
Contoh:
link_to('Click me', { action: 'show', controller: 'blog', id: 1 }, { target: '_blank' })
Untuk menambahkan jawaban sebelumnya format di bawah ini adalah apa yang disarankan oleh rubocop. Ini bisa menjadi risiko keamanan karena halaman yang dimuat akan memiliki kontrol atas halaman sebelumnya dan dapat mengubah lokasinya untuk tujuan phishing.
Untuk mencegah hal ini, perlu menambahkan atribut 'rel' ke kode.
rel: 'noopener'
Sekarang tautannya adalah:
<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank, rel: 'noopener %>