기본적으로 Rails는 모델 디렉토리의 하위 폴더를 자동로드 경로에 추가하지 않습니다. 그렇기 때문에 네임 스페이스가있는 모델 만 찾을 수 있습니다. 네임 스페이스는 찾을 하위 디렉터리를 비 춥니 다.
앱 / 모델 의 모든 하위 폴더를 자동로드 경로에 추가하려면 config / application.rb에 다음을 추가합니다 .
config.autoload_paths += Dir[Rails.root.join("app", "models", "{*/}")]
또는 더 복잡한 앱 / 모델 디렉토리가있는 경우 위의 앱 / 모델 의 모든 하위 폴더를 함께 globing하는 방법이 제대로 작동하지 않을 수 있습니다. 이 경우 좀 더 명시 적으로 지정하고 지정한 하위 폴더 만 추가하면이 문제를 해결할 수 있습니다.
config.autoload_paths += Rails.root.join("app", "models", "<my_subfolder_name1>")
config.autoload_paths += Rails.root.join("app", "models", "<my_subfolder_name2>")
Rails 4.1 이상 업데이트
Rails 4.1부터 앱 생성기는 config.autoload_paths
기본적으로 포함되지 않습니다 . 따라서 위의 내용은 실제로 config / application.rb에 속합니다 .
최신 정보
위 코드의 자동로드 경로 예제 {*/}
가 {**}
. 이에 대한 자세한 내용은 muichkine의 의견 을 읽으십시오 .