2012-04-15 11 views
6

Come creare collegamenti ipertestuali automatici per gli URL nella stringa di testo/stringa visualizzata nella vista? Ho una pagina che esegue il log delle attività dell'utente e in quel log/testo/stringa ci sono alcuni URL casuali che voglio automaticamente linkare per aprire in una nuova finestra del browser. C'è questo auto_link in ruby ​​rails, come lo uso?Ruby - rails - come creare collegamenti ipertestuali automatici per gli URL nella stringa di testo/stringa visualizzata nella vista?

text = "User xyz accessed url - http://www.something.com on 04/13/2012 00:13:18GMT" 

<%= "#{Text}" %> 

Desidero questo rendering con un collegamento ipertestuale all'URL. L'URL potrebbe essere qualsiasi cosa nel testo.

risposta

13

Usa auto_link come questo:

<%= auto_link(text) %> 

Se vuoi che i link generati per aprire nuove finestre del browser (o schede) aggiungere l'opzione in questo modo:

<%= auto_link(text, :html => { :target => '_blank' }) %> 

Come menzionato da pjumble nel i commenti, auto_link non fanno più parte del nucleo di Rails a partire da Rails 3.1, questo gioiello lo riporta indietro: https://github.com/tenderlove/rails_autolink Grazie infinite!

+0

Provato che '<% = auto_link (" # {testo} ")%>'. Ottenuto questo errore - 'metodo non definito 'auto_link' per # <# : 0xb116524>' –

+0

Dove stai usando questo codice? – ctcherry

+0

nella vista - '<% @a [: log] .to_s.split (/ --- /). Reverse.each do | line | %>

<%= auto_link(line) %>
<% end %> '' –

Problemi correlati