活动序列化器模型,设置自定义键

时间:2013-11-09 18:48:15

标签: ruby-on-rails json ember.js

我目前正在通过REST使用emberjs和rails来处理应用程序。

此外,我正在使用active_model_serializer gem来表示我的数据,但在将EmberData升级到Beta3之后,json期望的关联结构发生了变化。

在指向关联之前,关键是

"object_ids":[1,2]

但现在ember数据预计,该对象为复数

"objects": [1,2]

问题是,如何使用active_model_serializer以这种方式格式化?

我的模特

class ServiceField < ActiveRecord::Base
  has_many :services
end

和序列化程序对象

class ServiceFieldSerializer < ActiveModel::Serializer
  attributes :id, :name, :description
  has_many :services
  embed :ids, include: true
end

但这会产生

service_ids: [1,2]

有没有方便的方法来完成复数版本?

1 个答案:

答案 0 :(得分:2)

关联接受key选项,因此您可以执行以下操作:

has_many :services, :key => "services"

我怀疑默认情况下AMS会在某些时候更新为这种语法,因为ember-data和AMS都处于人们放在一起的json api标准的近距离轨道上。