Rails 5 ‘lib’ folder autoload failure
Rails 5 에서 lib 폴더를 autoload path
에 포함시키고 싶은데 아래 코드가 제대로 동작을 하지 않았습니다.
config.autoload_paths << Rails.root.join('lib')
첫 번째 방법
찾아보니 스택오버플로우에 아래와 같은 정보가 있습니다.
autoload – Rails 5: Load lib files in production – Stack Overflow
코드를 보면 initializer
를 이용해서 rb 파일들을 읽어오도록 구현되어 있습니다.
이런식으로 원하는 코드들만 가져와도 될 듯합니다. 스타도 많이 받았습니다. ㅎㅎㅎㅎ
두번째 방법
위의 글을 보면 이 아저씨가 해결한 방법은 autoload 를 사용하지 않고 eager_load 를 사용하라고 합니다.
config/environments/production.rb 의 내용을 봅니다.
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both threaded web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
eager_load 가 기본 설정입니다.
config/application.rb 하단에 아래 내용을 추가합니다.
config.eager_load_paths << Rails.root.join('lib')
문제 없이 잘 동작합니다.