Rails does model loading on demand. For a rake task that I\'m writing, I need to be able to iterate over all ActiveRecord::Base
instances (which is possible wi
I needed all models loaded for a rake task that checks the validity of all records, and found the handy method eager_load, which can be used simply like so:
Rails.application.eager_load!
rails 2:
Dir[Pathname(RAILS_ROOT) + 'app/models/**/*.rb'].each do |path|
require path
end
rails 3:
Dir[Rails.root + 'app/models/**/*.rb'].each do |path|
require path
end
another way:
(ActiveRecord::Base.connection.tables - %w[schema_migrations]).each do |table|
table.classify.constantize rescue nil
end