I am working on a Rails web app. I have records in a model, called AcademicPaper
that I deleted using the batch action destroy functionality that comes with activeadmin
. Right after I did that, I noticed that there was an error of not found ActiveRecord
for the AcademicPaper
model in the controller method that utilized pg_search
gem.
I realized that the pg_search
was not synched with ActiveRecord
s. Therefore, the solution was for me to run PgSearch::Multisearch.rebuild(AcademicPaper)
in the rails console, which I did, which worked.
My question is: how can I avoid this error in a production environment and maybe rebuild the pg_search
index every time an active_admin
batch action occurs?
Straight from 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