ruby-on-rails 使用pg_search和associated_against查询已删除的记录

o0lyfsai  于 2023-01-22  发布在  Ruby
关注(0)|答案(1)|浏览(174)

在我的项目中,我有一个名为Log的模型,它跟踪在Item上执行的所有活动。Item可以被软删除(使用acts_as_paranoidgem)。我使用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
我该怎么做呢?

xzv2uavs

xzv2uavs1#

您需要禁用Item上的paranoia默认作用域,请在查询中使用unscoped

相关问题