Rails - куки добавляет массив - PullRequest
0 голосов
/ 03 июля 2018

Я храню массив для куки в чьем-то методе:

def someone
  cookies[:test] = JSON.generate [@page.image, @page.title]
end

Но я хочу, чтобы куки [: test] могли хранить больше информации как «<<», а не «=», <br> как (получит ошибку):

def someone
  cookies[:test] << JSON.generate [@page.image, @page.title]
end

Теперь cookies[:test].inspect равно [[@page.image, @page.title], [@page.image, @page.title]].
Как это сделать?

1 Ответ

0 голосов
/ 03 июля 2018

Я не думаю, что возможно добавить непосредственно в cookie; он хранится в виде строки (которую возвращает JSON.generate), поэтому вам нужно десериализовать, добавить, затем повторно сериализовать и сохранить:

current = JSON.parse cookies[:test]
current << [@page.image, @page.title]
cookies[:test] = JSON.generate current

Или более кратко:

cookies[:test] = (JSON.parse(cookies[:test]) + [[@page.image, @page.title]]).to_json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...