activeadmin 销毁批处理操作并 pg_search 重建
activeadmin destroy batch action and pg_search rebuild
我正在开发 Rails 网络应用程序。我在一个名为 AcademicPaper
的模型中有记录,我使用 activeadmin
附带的批处理操作销毁功能将其删除。就在我这样做之后,我注意到在使用 pg_search
gem.[=21= 的控制器方法中, AcademicPaper
模型存在未找到 ActiveRecord
的错误]
我意识到 pg_search
与 ActiveRecord
不同步。因此,我的解决方案是在 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
我正在开发 Rails 网络应用程序。我在一个名为 AcademicPaper
的模型中有记录,我使用 activeadmin
附带的批处理操作销毁功能将其删除。就在我这样做之后,我注意到在使用 pg_search
gem.[=21= 的控制器方法中, AcademicPaper
模型存在未找到 ActiveRecord
的错误]
我意识到 pg_search
与 ActiveRecord
不同步。因此,我的解决方案是在 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