如何让Grape以正确的ember.js格式生成JSON?

时间:2013-12-10 14:33:13

标签: ruby-on-rails ember.js ember-data grape

this question类似,我想知道如何自定义Grape(在Rails之上构建)以发送与所请求对象的hasMany关系的所有相关ID,因为Ember期望这种格式:

{ "customer": { "projects": [1, 2, 3] } }

因为Grape有他自己的序列化器,所以我不能做这样的事情

class PostSerializer < ActiveModel::Serializer
  embed :ids

  attributes :id, :title, :body
  has_many :comments
end

是否有像embed :ids这样的简单解决方案,还是我必须手动添加ID?

1 个答案:

答案 0 :(得分:4)

使用葡萄实体,它将类似于:

class CustomerEntity < Grape::Entity
  expose (:projects) { |entity| entity.projects.pluck(:id) }
end