RailsAdminって便利ですね。管理が非常に楽になります。
RailsAdminを使っていたところに、concern modulesを組み込んでみました。
すると、今まで動いていたRailsAdminが動かなくなるという現象が発生しました。
RuntimeError in RailsAdmin::MainController#dashboard Circular dependency detected while autoloading constant Concerns::Hogehoge Extracted source (around line #6): previous_level = Rails.logger.level Rails.logger.level = Logger::ERROR if env['PATH_INFO'].index("/assets/") == 0 call_without_quiet_assets(env).tap do Rails.logger.level = previous_level end end Rails.root: /path/to/railsapp Application Trace | Framework Trace | Full Trace config/initializers/quiet_assets.rb:6:in `call_with_quiet_assets' Request
ぐぐったら、こちらに行き着きました。
Circular dependency detected while autoloading constant · Issue #1697 · sferik/rails_admin · GitHub
config/initializers/rails_admin.rbに次の定義を行えば解決出来るとのことです。
# Include specific models (exclude the others): Rails.application.eager_load! config.included_models = ActiveRecord::Base.descendants.map!(&:name)
で、実際に解決しました。
RailsAdminではデータベースのテーブルの管理が出来るのですが、その対象をActiveRecordのクラスを見て設定しているようです。
app/modelsの中のファイルを見ているのですが、app/models/concernsの中身も見てしまいます。
そこで、ActiveRecordのサブクラスだけですよ。と指定しているんですね。
とりあえず解決してめでたしめでたしでした。