activeadmin 销毁批处理操作并 pg_search 重建

activeadmin destroy batch action and pg_search rebuild

我正在开发 Rails 网络应用程序。我在一个名为 AcademicPaper 的模型中有记录,我使用 activeadmin 附带的批处理操作销毁功能将其删除。就在我这样做之后,我注意到在使用 pg_search gem.[=21= 的控制器方法中, AcademicPaper 模型存在未找到 ActiveRecord 的错误]

我意识到 pg_searchActiveRecord 不同步。因此,我的解决方案是在 rails 控制台中 运行 PgSearch::Multisearch.rebuild(AcademicPaper),我这样做了,效果很好。

我的问题是:如何在生产环境中避免此错误,并可能在每次 active_admin 批处理操作发生时重建 pg_search 索引?

直接从 Active Admin Documentation -

If you want, you can override the default batch action to do whatever you want:

ActiveAdmin.register Post do
  batch_action :destroy do |ids|
    super
    PgSearch::Multisearch.rebuild(AcademicPaper) 
  end
end