Все активные модели записей являются потомками ApplicationRecord, поэтому вы можете сделать ...
ApplicationRecord.descendants.map(&:count).inject(:+)
Обратите внимание, что вне производства классы, как правило, загружаются только при необходимости, поэтому, если вы заинтересованы в получении количество для непроизводственной среды (например, разработки), вам необходимо изменить конфигурацию, чтобы обеспечить загрузку всех записей. В config/environment/development.rb
set
config.eager_load = true
Вы можете оставить все как есть, но это замедлит время запуска вашего сервера разработки. Лично я не нахожу это проблемой, но это зависит от размера вашего приложения.
Обратите внимание, что ... как указано max в комментариях, если вы сделаете reload!
в своей консоли, ваш ApplicationRecord.descendants
будет пустым массивом.