Il mio obiettivo è quello di trovare qualcosa di simile a 'b1234' in un paragrafo e sostituirlo con:modo corretto per farlo trovare un modello e sostituirlo con un collegamento in una vista Rails
<a href=http://bugtracker.com/bug/1234>b1234</a>
Ho fatto questo utilizzando rubino pianura :
"I fixed b1234 today".gsub(/(b([0-9]+))/i, '<a href=http://bugtracker.com/bug/\2>\1</a>')
Produce:
=> "I fixed <a href=http://bugtracker.com/bug/1234>b1234</a> today"
ho il seguente nei miei rotaie vista:
<%= post.content %>
Nota: non memorizzo il codice di collegamento HTML nel mio DB quando vengono creati i post.
Se lo faccio:
<%= post.content.gsub(...) %>
vengo sfuggito HTML nel file di output:
<a href= ... instead of <a href= ...
... E voglio che il comportamento, non voglio utenti la pubblicazione HTML (gli iframe sarebbero spaventosi!).
Ma, come posso ancora ottenere la funzionalità di ricerca e sostituzione che desidero senza sacrificare la sicurezza? Forse un approccio Javascript?
Grazie!
L'ultima riga di codice è pura perfezione! Grazie. – cnandreu
Probabilmente si dovrebbe estrarre il codice in una funzione di supporto per rendere più facile per testare, il riutilizzo e capire. –