Один из моих элементов html, у меня есть атрибут data, который я хочу сохранить хешем. Я использую метод to_json хэш-функции для создания JSon объекта:Разбор результатов Rails to_json в JavaScript
<%= f.select :condition, options_for_select([]), {prompt: "Select"}, {class: "form-control", 'data-array' => { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json} %>
Конкретно эта часть:
'data-array' => { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json
В браузере результат to_json выглядит следующим образом:
" {"lead_source":["letter","television","radio","internet"],"appointment_status":["error","do_not_mail","return"]}"
Но кодирование используя "
, а не буквенную строку '
. В результате, как показано на консоли Chrome:
$(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(…
Мне нужно что-то, что я могу проанализировать. Есть to_json
неправильный метод?
Мне нужно использовать html_safe: – Donato