Ruby on rails activeadmin销毁批处理操作和pg_搜索重建
我正在开发一个Rails web应用程序。我在一个名为Ruby on rails activeadmin销毁批处理操作和pg_搜索重建,ruby-on-rails,activeadmin,pg-search,Ruby On Rails,Activeadmin,Pg Search,我正在开发一个Rails web应用程序。我在一个名为AcademicPaper的模型中有记录,我使用activeadmin附带的批处理操作销毁功能删除了该记录。就在我这么做之后,我注意到在使用pg_searchgem的控制器方法中,AcademicPaper模型出现了一个未找到ActiveRecord的错误 我意识到pgu搜索没有与ActiveRecords同步。因此,我的解决方案是在rails控制台中运行PgSearch::Multisearch.rebuild(学术论文),我做到了,这很有
AcademicPaper
的模型中有记录,我使用activeadmin
附带的批处理操作销毁功能删除了该记录。就在我这么做之后,我注意到在使用pg_search
gem的控制器方法中,AcademicPaper
模型出现了一个未找到ActiveRecord
的错误
我意识到pgu搜索
没有与ActiveRecord
s同步。因此,我的解决方案是在rails控制台中运行PgSearch::Multisearch.rebuild(学术论文)
,我做到了,这很有效
我的问题是:如何在生产环境中避免此错误,并在每次执行活动的\u admin
批处理操作时重新生成pgu搜索
索引?直接从-
如果需要,可以覆盖默认批处理操作以执行任何操作:
我接受你的答案,但如果我能在一个地方做到这一点以保持代码干燥,那就太好了。你有什么建议吗?
ActiveAdmin.register Post do
batch_action :destroy do |ids|
super
PgSearch::Multisearch.rebuild(AcademicPaper)
end
end