小编del*_*ist的帖子

如何在sunspot中的acts_as_paranoid行中删除索引

我在rails应用程序中使用红宝石和acts_as_paranoid gems in ruby​​.

当我删除记录时,acts_as_paranoid gem会覆盖ActiveRecord行为而不是删除它,但是将deleted_at字段更新为非空值.默认情况下,添加到所有AR查询WHERE deleted_at IS NULLscipe.

我有很多被删除的用户.在adminpanel页面中,我需要查看和搜索它们.

问题是当重建索引User模型时,太阳黑子根本没有索引删除的用户(WHERE deleted_at IS NULL默认情况下添加范围).

索引它的唯一机会是手动运行

User.with_deleted.solr_reindex
Run Code Online (Sandbox Code Playgroud)

所以,问题是:我应该如何更改我的代码,太阳黑子ALWAYS索引删除了User模型中的记录?

class User < ActiveRecord::Base
  searchable do
    string  :class_name do
      self.class.name
    end

    integer(:model_id) { |user| user.id }
    integer :community_ids, references: 'Community', multiple: true

   # ...
  end

  # ...
end
Run Code Online (Sandbox Code Playgroud)

ruby solr ruby-on-rails sunspot acts-as-paranoid

5
推荐指数
0
解决办法
470
查看次数

标签 统计

acts-as-paranoid ×1

ruby ×1

ruby-on-rails ×1

solr ×1

sunspot ×1