2011-09-26 9 views
9

ho trovato molte cose online per questo, ma non funzionano per me. mi sto perdendo qualcosa.Utilizza l'array di ruby ​​per un array javascript in erb. Escaping quotes

Nel mio controller ho

@t = ["a","b","c"] 

nel file erb che è 'richiamata' il @t rende in questo modo:

["a", "b", "c"] 

ho fatto hack per sostituire il " alla corretta ' simboli. Ho letto che to_json dovrebbe funzionare ma non lo fa. Quanto segue non funziona . I risultati sono gli stessi.

+0

Cosa si aspetta di vedere? Mi sembra abbastanza bello per me ... –

+0

Cosa vuoi vedere esattamente come renderizzato? – derp

risposta

22

to_json sta lavorando bene. Quello che stai incontrando è la protezione XSS di Rails 3.x. C'è un buon articolo su questo allo Railscasts/ASCIIcasts. La sostanza, però, è che è necessario utilizzare le raw o html_safe metodi:

nel controller:

@t_json = @t.to_json.html_safe 

o nella vostra vista:

<%= raw @t %> 
+0

risolto. Grazie molto! – Apples

+0

Stavo ricevendo un errore di tipo su html_safe che stava prendendo JSON, ma mi aspettavo dei dati. Il 'raw' ha funzionato per me però. Grazie! – kikuchiyo

+0

risolvere il mio problema, thx. –

Problemi correlati