在SQLite3的Rails应用中实现降序排序,order_by方法报错咨询
Rails中SQLite3数据降序排序的正确方法
Rails的Active Record框架里没有order_by方法,你遇到的报错已经给出了正确提示——用order方法实现排序。
具体用法示例
- 单字段降序排序(以User模型按id降序为例):
# 符号哈希写法(推荐) User.order(id: :desc) # 字符串写法 User.order("id DESC")
- 多字段组合排序(比如先按创建时间降序,再按名称升序):
User.order(created_at: :desc, name: :asc)
报错原因:Active Record封装SQL排序逻辑时,使用的方法名是order,而非SQL原生的order by关键字,所以调用order_by会触发NoMethodError。
内容的提问来源于stack exchange,提问作者Govind Patidar
相关产品推荐
相关产品推荐

