如何将数组存储到cookie中?

时间:2012-01-07 16:53:04

标签: ruby-on-rails-3 cookies

如何将多数组类型的数据存储到cookie中。

例如:[[1, 'foo'], [2, 'bar'], [3, 'foobar']]

我可以使用单维数组来实现它:

cookies[:foobar] = { :value => cookies[:foobar] << ",1" }

然后再做

cookies[:foobar].split(',').include?("1")

验证Cookie中是否存在1。我不太清楚如何用多维数组来解决这个问题

2 个答案:

答案 0 :(得分:12)

将数组序列化为json并存储到cookie。

看看两种方法:

ActiveSupport::JSON.encode(object)
ActiveSupport::JSON.decode(string)

答案 1 :(得分:1)

最简单的可能是使用rails / ruby​​提供的序列化方法之一,例如YAML,编组或json。