Jawaban:
The target: :_blank parameter harus menjadi parameter link_to, sedangkan Anda memasukkannya ke dalam image_tagparameter. 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: :_blankbukannyatarget: '_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: :_blankartinya.
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 %>