在我的项目中,我有一个名为Log
的模型,它跟踪在Item
上执行的所有活动。Item
可以软删除(使用acts_as_paranoid
gem)。我使用pg_search
实现了全文搜索,以便能够搜索与给定title
的项目相关联的日志
当前log.rb
class Log < ApplicationRecord
include PgSearch::Model
# associations
belongs_to :item
# scopes
pg_search_scope :search_log, associated_against: { item: %i[title] }, using: { tsearch: { prefix: true } }
scope :list_feed, lambda { |search_text = nil|
logs = all
logs = logs.search_log(search_text) if search_text.present?
logs
}
end
这适用于Item
,不是软删除,但现在我希望pg_search_scope
也能够包括软删除的Item
。
我该怎么做呢?
您需要在Item
上禁用偏执默认范围,在您的查询中使用unscoped
。