반응형
Rails 4 : 모델 네임 스페이스없이 하위 경로에서 레일 모델을 구성합니까?
이런 게 가능할까요?
app/models/
app/models/users/user.rb
app/models/users/education.rb
목표는 / app / models 폴더를 더 잘 구성하는 것이지만 모델의 네임 스페이스를 지정할 필요가 없습니다.
Rails 3에 대한 답이없는 질문은 여기에 있습니다 : Rails 3.2.9 and models in subfolders .
네임 스페이스와 함께 table_name을 지정하는 것은 작동하는 것처럼 보이지만 ( Rails 4 모델 하위 폴더 참조 ) 네임 스페이스없이이 작업을 수행하고 싶습니다 .
기본적으로 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의 의견 을 읽으십시오 .
반응형
'Programing' 카테고리의 다른 글
Pandas의 다중 인덱스 정렬 (0) | 2020.10.22 |
---|---|
crossorigin 속성의 목적…? (0) | 2020.10.22 |
자바를 통한 scp (0) | 2020.10.22 |
왜 TypeError : 'float'유형의 정수가 아닌 시퀀스를 곱할 수 없습니까? (0) | 2020.10.22 |
C # Distinct () 메서드는 시퀀스의 원래 순서를 그대로 유지합니까? (0) | 2020.10.22 |