모듈: Mongoid::Loadable
- 포함 항목:
- 몽고이드
- 다음에 정의됨:
- lib/mongoid/loadable.rb
개요
Mongoid가 정의된 모든 모델을 자동으로 로드하는 방법을 정의합니다.
상수 요약 접기
- DEFAULT_Model_PATHS =
모델 클래스를 찾아야 하는 기본값 경로 목록입니다. Rails가 있는 경우 ' 앱/models' 경로가 대신 사용됩니다. (#model_paths 참조).
%w( ./app/models ./lib/models ).동결
인스턴스 메서드 요약 접기
-
#load_model(파일) ⇒ 객체
비공개
모델의 파일 을 로드하기 위한 편리한 메서드입니다.
-
#load_models(paths = 모델_경로) ⇒ 객체
모델 경로 목록을 검색하여 모든 모델을 가져와서 요구하면 개발과 프로덕션 모두에서 인덱싱 과 상속이 동일한 결과를 얻도록 할 수 있습니다.
-
#모델 경로 ⇒ Array<String>
애플리케이션의 모델 정의가 있는 경로 배열 을 반환합니다.
-
# 모델_경로=(경로) ⇒ 객체
모델 경로를 지정된 경로 배열 로 설정합니다.
인스턴스 메서드 세부 정보
#load_model(파일) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
모델의 파일 을 로드하기 위한 편리한 메서드입니다. Rails의 'require_dependency' 메서드가 존재하는 경우 해당 메서드가 사용됩니다. 그렇지 않으면 'require'가 사용됩니다.
50 51 52 53 54 55 56 |
# 파일 'lib/mongoid/loadable.rb', 50줄 def load_model(파일) 만약 정의됨?(require_dependency) require_dependency(파일) other require(파일) end end |
#load_models(paths = 모델_경로) ⇒ 객체
모델 경로 목록을 검색하여 모든 모델을 가져와서 요구하면 개발과 프로덕션 모두에서 인덱싱 과 상속이 동일한 결과를 얻도록 할 수 있습니다.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# 파일 'lib/mongoid/loadable.rb', 26줄 def load_models(경로 = 모델 경로) 경로.각 do |경로| 만약 preload_models.크기 조정 가능? SCons를 훈련 = preload_models.map { |모델| "#{경로}/#{모델.밑줄}.rb" } other SCons를 훈련 = 디렉토리.glob("#{경로}/**/*.rb") end SCons를 훈련.sort.각 do |파일| load_model(파일.gsub(/^#{path}\// , "").gsub(/\.rb$/, "")) end end end |
#모델 경로 ⇒ Array<String>
애플리케이션의 모델 정의가 있는 경로 배열 을 반환합니다. Rails가 로드되면 기본적으로 구성된 ' 앱/models' 경로(예: ' config.paths`); 그렇지 않으면 기본값은 `%w(./ 앱/models ./lib/models)`입니다.
이러한 경로는 모델이 있는 디렉토리 계층 구조의 루트 입니다. 이러한 루트 경로가 '$LOAD_PATH`에 있는 한 모든 하위 디렉토리를 표시할 필요는 없습니다.
68 69 70 71 72 |
# 파일 'lib/mongoid/loadable.rb', 68줄 def 모델 경로 @model_paths ||= 정의됨?(Rails) ? Rails.애플리케이션.config.경로["앱/models"]. : DEFAULT_Model_PATHS end |
# 모델_경로=(경로) ⇒ 객체
모델 경로를 지정된 경로 배열 로 설정합니다. 이는 애플리케이션의 모델 정의가 있는 경로입니다.
78 79 80 |
# 파일 'lib/mongoid/loadable.rb', 78줄 def 모델 경로=(경로) @model_paths = 경로 end |