我想使用JSON序列化将查询结果保存到redis中并查询它.
将查询结果提供给json非常简单:
JSON.generate(Model.all.collect {|item| item.attributes})
Run Code Online (Sandbox Code Playgroud)
但是我找不到将其反序列化回ActiveRecord的正确方法.最直接的方式:
JSON.parse(@json_string).collect {|item| Model.new.from_json(item)}
Run Code Online (Sandbox Code Playgroud)
给我一个错误:
WARNING: Can't mass-assign protected attributes: id
Run Code Online (Sandbox Code Playgroud)
所以id变空了.我想过只使用OpenStruct代替ActiveRecord,但我相信有更好的方法.