我想使用Active Model Serializers来序列化关系,并且想为此关系设置一些“全局”属性(例如count):

{
  users: {
    total: 12,
    page: 2,
    users: [{}, {}, {}, ...]
  }
}

我该怎么办?

最佳答案

在 Controller 中进行渲染调用期间,您可以传递meta属性。

render @users, :each_serializer => UserSerializer, :meta => { :total => @users.count }

这将产生以下JSON:
{
  "users" : [...],
  "meta" : {
    "total" : 12
  }
}

您可以通过传递meta_key选项来重命名元密钥名称。

关于ruby-on-rails - 使用ActiveModel::Serializer序列化具有属性的数组/关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18570643/

10-15 09:13