activeadmin уничтожить пакетное действие и перестроить pg_search - PullRequest
0 голосов
/ 19 января 2020

Я работаю над веб-приложением Rails. У меня есть записи в модели под названием AcademicPaper, которые я удалил с помощью функции уничтожения пакетного действия, которая поставляется с activeadmin. Сразу после этого я заметил, что в методе контроллера, который использовал pg_search gem.

, была ошибка не найдена ActiveRecord для модели AcademicPaper. Я понял, что pg_search был не синхронизирован с ActiveRecord с. Поэтому я решил запустить PgSearch::Multisearch.rebuild(AcademicPaper) в консоли rails, что я и сделал, и это сработало.

Мой вопрос таков: как избежать этой ошибки в производственной среде и, возможно, пересобрать pg_search индексировать каждый раз, когда происходит active_admin пакетное действие?

1 Ответ

0 голосов
/ 19 января 2020

Прямо из Документация активного администратора -

Если вы хотите, вы можете переопределить пакетное действие по умолчанию, чтобы сделать все, что вы хотите:

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