Я пытаюсь разобрать строку JSON, которая хранится внутри значения cookie, к которому обращается мой код Rails.
Rails может читать строку до запятой (','), которая разделяет две разные пары ключ:значение в строке.
JavaScript:
var value1 = "v1";
var value2 = "v2";
var obj = { key1: value1, key2: value2 };
document.cookie = "cookiename="+JSON.stringify(obj);
Cookie:
Name: cookiename
Content: {"key1":v1,"key2":v2}
Rails:
@cookievalue = cookies[:cookiename]
Rails при вызове @cookievalue в erb <%= @cookievalue %> оценивает его как:
{"key1":v1
все, что после запятой (','), которая разделяет key1:v1, key2:v2 отсутствует.
Есть идеи?
Я попробовал это как прямой текст, и он делает то же самое с первой запятой, которую он встречает.
UPDATED Ответил на свой вопрос ниже - нужно было убрать запятую, разделяющую значения, используя encode() в JS.