相关疑难解决方法(0)

从JSON反序列化ActiveRecord

我想使用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,但我相信有更好的方法.

json ruby-on-rails mass-assignment deserialization

1
推荐指数
1
解决办法
3808
查看次数