Ransack 自定义排序不起作用
Ransack custom sorting not works
我无法为洗劫创建自定义排序(按范围)。试过按照教程说的做,但是没有成功。
我的模型中有下一个代码。
scope :sort_by_custom_name_asc, -> { order('"core_people"."phone" ASC') }
范围有效的证据,在搜索中按 phone 排序有效,但 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 排序可从 ransack 获得。
ransacker :custom_name do |_|
Arel::Nodes::SqlLiteral.new('"core_people"."phone"')
end
我无法为洗劫创建自定义排序(按范围)。试过按照教程说的做,但是没有成功。
我的模型中有下一个代码。
scope :sort_by_custom_name_asc, -> { order('"core_people"."phone" ASC') }
范围有效的证据,在搜索中按 phone 排序有效,但 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 排序可从 ransack 获得。
ransacker :custom_name do |_|
Arel::Nodes::SqlLiteral.new('"core_people"."phone"')
end