在我的项目中,我有一个名为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
。
我该怎么做呢?
1条答案
按热度按时间xzv2uavs1#
您需要禁用
Item
上的paranoia默认作用域,请在查询中使用unscoped
。