如何使用Active Model Serializer实现排序?

时间:2016-06-08 20:35:17

标签: ruby-on-rails sorting active-model-serializers

我想要做的是传递列表列表作为运动参数进行排序,并让AMS根据这些参数对响应进行排序。例如,如果我使用这个url _GET /authors?sort=lastname,firstname_,它将通过姓氏和名字来运动。但是,如果我这样做GET /authors?sort=number_of_books,lastname,firstnam*,它将根据书籍数量返回作者,然后是姓氏和名字。

看来AMS默认情况下没有这样做(并且他们将来也不会这样做),但是我可以在序列化程序中做些什么来为我做这件事吗?

1 个答案:

答案 0 :(得分:3)

根据我的经验,AMS并不真正关心排序。这似乎是在序列化之前你要做的事情。也许在控制器中或者在模型中更好。

更新

@CalebSayre如果你的sort参数只是一个简单的字段列表,你可以通过简单的事情来解决这个问题。

render json: Author.order(params[:sort]), serializer: AuthorSerializer

如果没有传递任何排序参数,则只需跳过订单子句。

相关问题