我正在使用来自第三方 API 的 JSON 数据,对该数据进行一些处理,然后将模型作为 JSON 发送到客户端。传入数据的键名不是很好。其中一些是首字母缩略词,有些似乎只是随机字符。例如:
{
aikd: "some value"
lrdf: 1 // I guess this is the ID
}
我正在创建一个 rails ActiveResource 模型来包装此资源,但不想通过 model.lrdf 访问这些属性,因为 lrdf 到底是什么并不明显!相反,我想要一些方法将这些属性别名为另一个命名更好的属性。这样我就可以说 model.id = 1 并自动将 lrdf 设置为 1 或将 model.id 设置为自动返回 1。此外,当我调用 model.to_json 将模型发送到客户端时,我不想我的 javascript 必须了解这些奇怪的命名约定。
我试过
alias id lrdf
但这给了我一个错误,说方法 lrdf 不存在。
另一种选择是只包装属性:
def id
lrdf
end
这可行,但是当我调用 model.to_json 时,我再次将 lrdf 视为键。
有没有人做过这样的事情?你有什么建议吗?