将pg_search限制为单个User对象的关联

时间:2015-06-13 18:23:06

标签: ruby-on-rails postgresql pg-search

例如:

class User < ActiveRecord::Base
  has_many :cars
end

#  name       :string(255)
class Car < ActiveRecord::Base
  belongs_to :user
end

您如何使用pg_search对只有一个用户实例的汽车名称进行全文搜索(与所有汽车相比)?

1 个答案:

答案 0 :(得分:1)

我是pg_search的作者。听起来你想要做的就是将pg_search_scope链接到一个关联:

class User < ActiveRecord::Base
  has_many :cars
end

class Car < ActiveRecord::Base
  include PgSearch
  belongs_to :user
  pg_search_scope :search_by_name, against: :name
end

user = User.find(1)
user.cars.search_by_name("Ford")