Eines meiner HTML-Elemente, ich habe ein Datenattribut, das ich einen Hash speichern möchte. Ich benutze Hash des to_json Methode Json-Objekt zu erstellen:Parsing das Ergebnis von Rails to_json in JavaScript
<%= f.select :condition, options_for_select([]), {prompt: "Select"}, {class: "form-control", 'data-array' => { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json} %>
Insbesondere dieser Teil:
'data-array' => { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json
im Browser das Ergebnis to_json wie folgt aussieht:
" {"lead_source":["letter","television","radio","internet"],"appointment_status":["error","do_not_mail","return"]}"
Aber die Codierung Verwenden Sie "
anstelle der wörtlichen Zeichenfolge '
. Als Ergebnis, wie in der Chrome-Konsole:
$(el).data('array')
" {"lead_source":["letter","television","radio","internet"],"appointment_status":["error","do_not_mail","return"]}"
JSON.parse($(el).data('array'));
VM8467:1 Uncaught SyntaxError: Unexpected token & in JSON at position 3(…
Ich brauche etwas, das ich analysieren kann. Ist to_json
die falsche Methode?
Ich brauche html_safe zu verwenden: – Donato