【发布时间】:2018-10-05 14:03:00
【问题描述】:
我无法为洗劫创建自定义排序(按范围)。尝试按照教程说的做,但没有成功。
我的模型中有下一个代码。
scope :sort_by_custom_name_asc, -> { order('"core_people"."phone" ASC') }
范围有效的证明,在 ransack 中按电话排序有效,但 custom_name 排序无效。
Core::Person.ransack(s: 'custom_name asc').result.to_sql
#=> "SELECT \"core_people\".* FROM \"core_people\""
Core::Person.ransack(s: 'phone asc').result.to_sql
#=> "SELECT \"core_people\".* FROM \"core_people\" ORDER BYY\"core_people\".\"phone\" ASC"
Core::Person.sort_by_custom_name_asc.to_sql
#=> "SELECT \"core_people\".* FROM \"core_people\" ORDER BY \"core_people\".\"phone\" ASC"
【问题讨论】:
-
什么是
custom_name?它是您数据库中的一列吗? -
不,只是一块范围
-
范围:sort_by_custom_name_asc,-> { order('"core_people"."phone" ASC') }
-
在教程中说应该带有 sort_by_ 前缀和 _asc 或 _desc 后缀。
-
您介意链接教程吗?是官方wiki吗?
标签: ruby ransack meta-search