Rails 4: ActiveAdmin очищает поле массива при обновлении - PullRequest
0 голосов
/ 08 марта 2019

У меня есть модель ActiveAdmin, зарегистрированная как таковая:

ActiveAdmin.register MyModel do
  permit_params :name, :synonyms

  filter :name

  index do
    selectable_column
    column :name

    actions
  end
end

Я заметил, что когда я обновляю объект из интерфейса ActiveAdmin, синонимы удаляются. Синонимы - это поле массива, определенное как таковое в базе данных PostgreSQL:

synonyms text[] DEFAULT '{}'::text[]

Я попытался добавить в app/admin/my_model.rb следующее:

controller do
  def update
    permitted_params[:my_model][:synonyms] = JSON.parse permitted_params[:my_model][:synonyms]
    super
  end
end

и я тоже попробовал это с params вместо permitted_params, но это тоже не работает. Не уверен, почему ActiveAdmin будет отбрасывать это поле. Я что-то делаю неправильно? В проекте, с которым я работаю, используется ActiveAdmin 1.0.0.pre4 (я понимаю, что это устаревшая версия).

Любой совет будет высоко ценится. Заранее спасибо!

Примечания: кажется, это может быть распространенная проблема ?

...