やりたいこと
全てのモデルを列挙したい。
方法
# 開発環境だとクラスが自動読み込みされる。
# このままだと読み込み済みのモデルしか列挙できないので、明示的に一括読み込みしておく。
# 規模が大きい Rails アプリケーションだと時間がかかる。
Rails.application.eager_load!
# 全てのモデルを列挙する。
# ApplicationRecord のような抽象クラスは除外する。
ActiveRecord::Base.descendants.reject(&:abstract_class?)
バージョン情報
※ 現時点での最新のバージョンではありません。
RUBY_VERSION
#=> "3.1.2"
Rails.version
#=> "7.1.4"