Rails4 + Json API:增加响应的细节

时间:2014-04-16 17:57:14

标签: ruby json ruby-on-rails-4 grape-api

我是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'
               }
          ]
        }

2 个答案:

答案 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