【问题标题】:Rails -- cookies adds an arrayRails -- cookies 添加一个数组
【发布时间】:2018-12-11 06:18:45
【问题描述】:

我在某方法中将数组存储到 cookie:

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

但我希望 cookie[:test] 可以将更多信息存储为“ 喜欢(会出错):

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

现在,cookies[:test].inspect[[@page.image, @page.title], [@page.image, @page.title]]
这个怎么做?

【问题讨论】:

    标签: ruby-on-rails arrays ruby cookies server


    【解决方案1】:

    我认为不可能直接附加到 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
    

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多