Ruby on rails 用于搜索的活动记录中的Rails order by

Ruby on rails 用于搜索的活动记录中的Rails order by,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我想在rails中组织搜索结果。 如果我使用搜索字符串,例如“食品” 但是结果集是没有组织的。我希望结果与完整的“食品”字符串在顶部。但我无法安排结果如何 任何帮助都将不胜感激 谢谢在这种情况下,您可能希望利用Postgres中的全文搜索。这使得在rails中很容易实现。将gem'pg_search'添加到您的gem文件中,然后运行bundle 在您的模型中: class Product < ActiveRecord::Base include PgSearch pg_search

我想在rails中组织搜索结果。 如果我使用搜索字符串,例如“食品”

但是结果集是没有组织的。我希望结果与完整的“食品”字符串在顶部。但我无法安排结果如何

任何帮助都将不胜感激


谢谢

在这种情况下,您可能希望利用Postgres中的全文搜索。这使得在rails中很容易实现。将
gem'pg_search'
添加到您的gem文件中,然后运行
bundle

在您的模型中:

class Product < ActiveRecord::Base
  include PgSearch
  pg_search_scope :search_by_name, :against => :name
end
试试看

Products.where(“名称如“%food%”或名称如“%product%”)。order(“名称如“%food%”则为1 当名称为“%product%”时,则为2 (完)


这将根据您的排序顺序为您提供结果。

正是我要找的:D
class Product < ActiveRecord::Base
  include PgSearch
  pg_search_scope :search_by_name, :against => :name
end
Product.search_by_name('food products')