2014-12-09 6 views
14

Ho il seguente codice:Impedire Rails dalla codifica dei segni & in un URL quando l'output JSON

render json: { image: image } 

Immagine ha un attributo "url". Diciamo che è:

https://blah.com/a?A=B&C=D 

Durante il rendering, questo è quello che ottengo:

{"image":{"url":"https://blah.com/a?A=B\u0026C=D"}} 

La e commerciale è sempre codificato come \ u0026

C'è un modo per evitare questa codifica?

+0

Vedere la mia risposta a questa domanda simile qui: http://stackoverflow.com/a/35020478/594763 – patrick

risposta

23

Aggiungi alla tua application.rb di file:

config.active_support.escape_html_entities_in_json = false 
+0

E non dimenticare di riavviare il server dopo :-) .. bella risposta! –

0
+2

Tutti questi spiegano perché succede, ma non come risolvere il problema. Gli URL che ho sono su risorse esterne, non interne alla mia app, quindi non posso risolvere questo problema utilizzando gli helper di routing per generare URL. E la monkeypatching sembra una pessima idea. –

+0

Puoi incollare parte del tuo codice? O spiega di più il tuo problema? dove usi questi codici? ... – 01e