如何实现先按active优先级再按long_name字母序排序查询结果?
解决方案
直接修改order方法的参数,先按active字段降序排列(让active = true的记录优先显示),再按long_name字段升序排列:
@arrest_reason = ArrestReason.order(active: :desc, long_name: :asc)
逻辑说明
- 布尔类型的
active字段在数据库中通常以1(true)和0(false)存储,使用:desc降序排序时,1会排在0前面,也就是active = true的记录会优先展示。 - 紧接着的
long_name: :asc会对active = false的记录按照字母顺序升序排列,满足你的需求。
内容的提问来源于stack exchange,提问作者Solitary Coder
相关产品推荐
相关产品推荐

