Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails activeadmin销毁批处理操作和pg_搜索重建_Ruby On Rails_Activeadmin_Pg Search - Fatal编程技术网

Ruby on rails activeadmin销毁批处理操作和pg_搜索重建

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(学术论文),我做到了,这很有

我正在开发一个Rails web应用程序。我在一个名为
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