如何序列化哈希格式:

时间:2011-08-20 21:35:20

标签: ruby-on-rails serialization activerecord hash

我有以下数据:

 [{"uid"=>"12406664"}, {"uid"=>"13715056"}, {"uid"=>"20911274"}, {"uid"=>"20921750"}, {"uid"=>"144901695"}, {"uid"=>"200002261"}, {"uid"=>"583131545"}, {"uid"=>"584667098"}, {"uid"=>"585043552"}, {"uid"=>"593713530"}, {"uid"=>"645734146"}, {"uid"=>"649596998"}, {"uid"=>"663955553"}, {"uid"=>"698033741"}, {"uid"=>"1024899231"}, {"uid"=>"1032611215"}, {"uid"=>"1076202442"}, {"uid"=>"1168728549"}, {"uid"=>"1283882122"}, {"uid"=>"1296965460"}, {"uid"=>"1417999220"}, {"uid"=>"1420197620"}, {"uid"=>"1455766774"}, {"uid"=>"1479820827"}, {"uid"=>"1568075339"}, {"uid"=>"100000804563736"}, {"uid"=>"100001055926570"}, {"uid"=>"100001633945205"}]

如何使用Ruby on Rails存储此数据?我想保持数据可访问,其中

>> x[1]
=> {"uid"=>"13715056"}

目前我正在使用postgreSQL heroku服务器,我将User.user_id列序列化为哈希并且数据很乱:

"[{\"uid\"=>\"12406664\"}, {\"uid\"=>\"13715056\"}, {\"uid\"=>\"20911274\"}, {\"uid\"=>\"20921750\"}, {\"uid\"=>\"144901695\"}, {\"uid\"=>\"200002261\"}, {\"uid\"=>\"583131545\"}, {\"uid\"=>\"584667098\"}, {\"uid\"=>\"585043552\"}, {\"uid\"=>\"593713530\"}, {\"uid\"=>\"645734146\"}, {\"uid\"=>\"649596998\"}, {\"uid\"=>\"663955553\"}, {\"uid\"=>\"698033741\"}, {\"uid\"=>\"1024899231\"}, {\"uid\"=>\"1032611215\"}, {\"uid\"=>\"1076202442\"}, {\"uid\"=>\"1168728549\"}, {\"uid\"=>\"1283882122\"}, {\"uid\"=>\"1296965460\"}, {\"uid\"=>\"1417999220\"}, {\"uid\"=>\"1420197620\"}, {\"uid\"=>\"1455766774\"}, {\"uid\"=>\"1479820827\"}, {\"uid\"=>\"1568075339\"}, {\"uid\"=>\"100000804563736\"}, {\"uid\"=>\"100001055926570\"}, {\"uid\"=>\"100001633945205\"}]"
>> User.last.uid.last
=> "]"

我该如何纠正?

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以按照自己的意愿序列化:HashArray,自定义类......你很自由。

根据您的预期,序列化为Array