在rails json渲染中,如何显示特定属性的不同键名称
我使用 Mongoid 作为后端,我需要返回带有“id”属性的 json,而不是 mongoid 使用的默认“_id”,
例如,我现在
[{
"_id": "4f2d8b971773eb18e6000001",
"name": "Scooter"
}, {
"_id": "4f2d8d9f1773eb18fd000001",
"name": "Coldplay"
}]
从调用 render:
format.json { render :json => @groups, only:[:name, :_id] }
但需要,
[{
"id": "4f2d8b971773eb18e6000001",
"name": "Scooter"
}, {
"id": "4f2d8d9f1773eb18fd000001",
"name": "Coldplay"
}]
有什么快捷方式吗?
谢谢你!!
I am using Mongoid as my backend and I am in need to return json with an "id" attribute instead of the default "_id" used by mongoid
for instance, I have now
[{
"_id": "4f2d8b971773eb18e6000001",
"name": "Scooter"
}, {
"_id": "4f2d8d9f1773eb18fd000001",
"name": "Coldplay"
}]
from a call to render:
format.json { render :json => @groups, only:[:name, :_id] }
but need,
[{
"id": "4f2d8b971773eb18e6000001",
"name": "Scooter"
}, {
"id": "4f2d8d9f1773eb18fd000001",
"name": "Coldplay"
}]
Any shortcuts?
Thank you!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您能够为
_id
添加一个名为id
的属性访问器,那么通过覆盖模型中的as_json
就可以轻松解决这个问题。更新:使重写对父方法更加友好。
If you're able to add an attribute accessor for
_id
called justid
, then this should be easily solved by overridingas_json
in your model.Update: Made the override a bit more friendly to the parent method.