2012-01-07 99 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。