我是RoR(和Ruby)的新手。我需要一些关于json响应的帮助(使用Grape)。
这是样本:
{
events: [
{
'some data':'some data',
place_id: 1
}
]
}
现在这是Rails中Events.all
的结果,但是我想为每个事件创建一个查询该地点,以获得更多数据而不是id。我确信新的lambda函数可以帮助我,但是现在我不知道要做到这一点。我尝试没有成功......
提前致谢
更新
期望的结果
{
events: [
{
'some data':'some data',
place : {
id: 1,
name: 'Blablabla'
}
]
}
答案 0 :(得分:2)
考虑使用ActiveModelSerializers,它允许您定义如何以类似于ActiveRecord DSL的方式序列化模型(例如,您的问题将通过定义该事件has_one :place
来解决)
答案 1 :(得分:0)
:events => events.as_json(include: :place)
这对我的问题很有用。显然,添加belongs_to
后。
来自http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html