我需要将活动记录JSON转换为以下内容:
{
cols: [{id: 'task', label: 'Task', type: 'string'},
{id: 'hours', label: 'Hours per Day', type: 'number'}],
rows: [{c:[{v: 'Work'}, {v: 11}]},
{c:[{v: 'Eat'}, {v: 2}]},
{c:[{v: 'Commute'}, {v: 2}]},
{c:[{v: 'Watch TV'}, {v:2}]},
{c:[{v: 'Sleep'}, {v:7, f:'7.000'}]}
]
}
这与to_json从activerecord返回的内容完全不同。什么是转换JSON最红宝石的方法?
答案 0 :(得分:0)
覆盖模型中的to_json方法
# your_model.rb, implement an instance method to_json
def to_json(options = {})
{
'cols' => [{'id' => 'whateveryoulike'}],
'rows' => [{'id' => 'whateveryoulike'}]
}.to_json(options)
end
请注意,接受options
作为此方法的参数并将其传递给此方法中的哈希(或任何其他to_json
调用的to_json
非常重要,那件事)。否则,该方法可能无法在集合JSON序列化上按预期运行。当然,既然您没有详细说明您的模型是什么以及它如何映射到所需的JSON响应,您将必须实现cols和rows的表示。
这也适用于to_xml
。