ruby 如何对对象进行排序,但也要先列出某些属性?

j2cgzkjk  于 2023-10-17  发布在  Ruby
关注(0)|答案(1)|浏览(98)

我有这个

@requests = current_fan.handled_requests.order(:id).reverse_order

但是我想把new_response = true列在第一位(在顶部)(如果可能的话,也可以按照:id的相反顺序列出,但不是必要的)

@requests = current_fan.handled_requests.order(:id).reverse_order.order(:new_response)

不起作用

@requests = current_fan.handled_requests.order(:id).reverse_order.prioritize(:new_response)

那是我编的

iqih9akk

iqih9akk1#

您可以像这样向order传递多个订单条件和订单方向:

current_fan.handled_requests.order(new_response: :desc, id: :desc)

new_response: :desc将排序记录,new_response == true在顶部,new_response == false在底部。当有多个记录具有相同的new_response值时,这些记录将按id降序排序为id: :desc

相关问题