2012-08-26 13 views
115

ho questo codice:Rails: Apri link in una nuova scheda (con 'link_to')

<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook", :target => "_blank"),     
      "http://www.facebook.com/mypage" %> 

Come posso renderlo aperto in una nuova scheda quando un utente fa clic sul collegamento?

risposta

214

Il parametro target: :_blank deve essere un parametro di link_to, mentre lo si inserisce nei parametri image_tag. Modificare il codice in questo modo:

<%= link_to image_tag("facebook.png", class: :facebook_icon, alt: "Facebook"), "http://www.facebook.com/mypage", target: :_blank %> 

O con un blocco:

<%= link_to "http://www.facebook.com/mypage", target: :_blank do %> 
    <%= image_tag("facebook.png", class: :facebook_icon, alt: "Facebook") %>  
<% end %> 
13

Prova questa:

<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook"), "http://www.facebook.com/mypage", :target => "_blank" %> 
3

Se siete alla ricerca di come aprire un link in una nuova scheda in html (per chiunque sia venuto qui da Google), qui:

<a href="http://www.facebook.com/mypage" target="_blank">Link name</a> 
+8

non ho intenzione di downvote voi, ma questa pagina è specificamente circa link_to di Ruby (dal titolo). –

+0

@HerbMeehan Non sono sicuro di fare un upvote, ma è un po 'utile per spiegare cosa significa' target:: _blank'. –

4

È inoltre possibile utilizzare target: :_blank invece di 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 %> 
Problemi correlati