2012-01-07 100 views
9

你怎么数据的多阵列式存储到一个cookie。如何将数组存储到cookie中?

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

我可以得到它与一维阵列这样工作:

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

然后执行

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

要验证1存在内部的曲奇饼。也不太清楚,我怎么能解决这个问题有一个多维数组

回答

12

序列化阵列为JSON和存储到饼干。

看两个方法:

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

Hmmmm,不Rails的饼干已经解码的数据?考虑:'饼干[:测试] = {:值=>的ActiveSupport :: JSON.encode({:颜色=> [ “红色”, “绿色”, “黄色”]}),:期满=> 24.hours。 from_now}'returns'{“color”=> [red,“green”,“yellow”]}'。我不需要解码? – 2012-01-07 17:27:41

+0

我认为你总是必须将字符串数据解码为数组对象。 – 4ndrew 2012-01-07 17:42:17

1

最简单的可能是使用了序列化方法轨/红宝石之一提供了诸如YAML,编组或JSON。