Предыдущий разработчик имел
config\initializers\rails_admin_reload.rb
Rails.application.config.to_prepare do
RailsAdmin::ApplicationController.class_eval do
before_action :reload_rails_admin, if: Rails.env.development? # Reloading RailsAdmin Config Automatically
def reload_rails_admin
RailsAdmin::Config.reset
load("#{Rails.root}/config/initializers/rails_admin.rb")
Я добавил
class User < ApplicationRecord
rails_admin do
xxx
end
И
module RailsAdminUser
extend ActiveSupport::Concern
included do
rails_admin do
xxx
, которые даже не выдавали ошибок, так что это было даже не читая эти файлы или методы. Я предполагаю, что они хотели перезагружать конфигурацию Rails Admin всякий раз, когда она изменялась, но, похоже, она также отбрасывает любые конфигурации всех моделей! Я закомментировал before_action
, и он сработал.
Я также добавил
list do
field :category do
visible false
searchable false
end
Rails Admin, похоже, кэширует конфигурацию для моделей, поэтому всякий раз, когда вы изменяете конфигурацию (например, searchable true => false
) Вы должны перезагрузить сервер. Очень раздражает.