From b36fdb560407b72dc464c9026a54fdfed6e0b2cd Mon Sep 17 00:00:00 2001 From: Julian Herrero Date: Thu, 4 Apr 2019 16:48:32 +0200 Subject: [PATCH] Add lib folder path to eager_load_paths Because autoloading is disabled in production with Rails 5, using autoload_paths will not load needed classes from specified paths. The solution to this, is to ask Rails to eager load classes. https://sipsandbits.com/2017/02/14/upgrading-a-ruby-on-rails-application/ --- config/environments/preproduction.rb | 5 +++++ config/environments/production.rb | 5 +++++ config/environments/staging.rb | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/config/environments/preproduction.rb b/config/environments/preproduction.rb index 243d7ffef..5dfdcacd6 100644 --- a/config/environments/preproduction.rb +++ b/config/environments/preproduction.rb @@ -10,6 +10,11 @@ Rails.application.configure do # Rake tasks automatically ignore this option for performance. config.eager_load = true + # Because autoloading is disabled in production environments with Rails 5, + # using autoload_paths will not load needed classes from specified paths. + # The solution to this, is to ask Rails to eager load classes. + config.eager_load_paths << "#{config.root}/lib" + # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true diff --git a/config/environments/production.rb b/config/environments/production.rb index 680a3b29a..d66dd3b3d 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -10,6 +10,11 @@ Rails.application.configure do # Rake tasks automatically ignore this option for performance. config.eager_load = true + # Because autoloading is disabled in production environments with Rails 5, + # using autoload_paths will not load needed classes from specified paths. + # The solution to this, is to ask Rails to eager load classes. + config.eager_load_paths << "#{config.root}/lib" + # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true diff --git a/config/environments/staging.rb b/config/environments/staging.rb index 7bd4f8aa9..5a47275cc 100644 --- a/config/environments/staging.rb +++ b/config/environments/staging.rb @@ -10,6 +10,11 @@ Rails.application.configure do # Rake tasks automatically ignore this option for performance. config.eager_load = true + # Because autoloading is disabled in production environments with Rails 5, + # using autoload_paths will not load needed classes from specified paths. + # The solution to this, is to ask Rails to eager load classes. + config.eager_load_paths << "#{config.root}/lib" + # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true