如何排序Rails Active Model序列化程序的响应

Jus*_* D. 12 ruby-on-rails active-model-serializers

奇怪的是,我还没有找到关于这个主题的任何内容......

如何对我的Rails服务器提供的JSON进行排序?我目前正在使用ActiveModel Serializer:

 embed :ids, include: true
 attributes :id, :name

 has_many :places
Run Code Online (Sandbox Code Playgroud)

我想对嵌入式进行排序places.

我找到的唯一答案是这个问题,但它解释了默认情况下序列化程序的排序方式,而不是我如何排序.

wed*_*ens 22

您可以将其定义为属性并处理排序.例如:

def places
    object.places.order("title")
end
Run Code Online (Sandbox Code Playgroud)

https://github.com/rails-api/active_model_serializers#associations

  • 我将它添加到模型的`has_many`:`has_many:images, - > {order(position :: asc)},class_name:"PropertyImage"` (6认同)
  • 快速注意,如果您的子对象也通过序列化器,这将破坏它,并恢复使用as_json (4认同)
  • 有没有一种方法,而无需添加N + 1查询? (2认同)