모듈: Mongoid::Factory
개요
데이터베이스 에서 가져온 문서를 인스턴스화합니다.
네임스페이스 아래에 정의됨
클래스: 인스턴스화기
인스턴스 메서드 요약 접기
-
#build(klass, attributes = nil) ⇒ Document
제공된 속성에서 새
Document
를 빌드합니다. -
#execution_build(klass, attributes = nil, options = {}) ⇒ 문서
비공개
빌드를 실행합니다.
-
# execution_from_db (klass, attributes = nil, criteria = nil,selected_fields = nil, execute_callbacks: Threaded.execute_callbacks?) ⇒ 문서
비공개
from_db를 실행합니다.
-
#from_db(klass, attributes = nil, criteria = nil, 선정된_fields = nil) ⇒ 문서
데이터베이스 에서 로드된 제공된 속성을 사용하여 새
Document
를 빌드합니다.
인스턴스 메서드 세부 정보
#build(klass, attributes = nil) ⇒ 문서
제공된 속성에서 새 Document
를 빌드합니다.
이 메서드는 속성에 klass의 판별자 키가 포함된 경우 klass 또는 klass의 하위 항목을 인스턴스화합니다.
속성에 판별자 키( 기본값 은 _type)가 포함되어 있고 판별자 값이 klass의 하위 항목에 해당하지 않는 경우 이 메서드는 klass 인스턴스 를 생성합니다.
154 155 156 |
# 파일 'lib/mongoid/factory.rb', 154줄 def 빌드(class, 속성 = nil) execution_build(class, 속성) end |
#execution_build(klass, attributes = nil, options = {}) ⇒ 문서
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
Ruby 2.x 버그로 인해 옵션 해시가 키워드 인수가 되지 않습니다. Ruby 2.x에 대한 지원 이 중단되면 옵션 해시를 키워드 인수로 다시 구현할 수 있습니다. bugs.ruby-lang.org/issues/15753를 참조하세요.
빌드를 실행합니다.
175 176 177 178 179 180 181 182 183 184 |
# 파일 'lib/mongoid/factory.rb', 175줄 def execution_build(class, 속성 = nil, = {}) 속성 ||= {} dvalue = 속성[class.판별자_키] || 속성[class.판별자_키.to_sym] 유형 = class.get_discrirator_mapping(dvalue) 만약 유형 유형.configure_document(속성, ) other class.configure_document(속성, ) end end |
# execution_from_db (klass, attributes = nil, criteria = nil,selected_fields = nil, execute_callbacks: Threaded.execute_callbacks?) ⇒ 문서
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
from_db를 실행합니다.
234 235 236 237 238 239 |
# 파일 'lib/mongoid/factory.rb', 234줄 def execute_from_db(class, 속성 = nil, 기준 = nil, selected_fields = nil, execution_callbacks: 스레드.실행 콜백?) 인스턴스화기.신규(class, 속성, 기준, selected_fields) .인스턴스(execution_callbacks: execution_callbacks) end |
#from_db(klass, attributes = nil, criteria = nil, selected_fields = nil) ⇒ Document
데이터베이스 에서 로드된 제공된 속성을 사용하여 새 Document
를 빌드합니다.
속성에 판별자 키( 기본값 은 _type)가 포함되어 있고 판별자 값이 klass의 하위 항목에 해당하지 않는 경우 이 메서드는 UnknownModel 오류를 발생시킵니다.
기준 객체가 지정되면 두 가지 방법으로 사용됩니다.
-
기준에 #only를 통해 지정된 필드 목록이 있는 경우 반환 문서 에는 해당 필드만 채워집니다.
-
기준에 참조 연관 관계가 있는 경우(예: 이 문서 가 다른 문서 의 연관 관계로 인스턴스화되는 경우), 반환된 문서의 역방향 연관 관계가 있는 경우 해당 문서 도 해당 문서의 역방향 연관 관계로 채워집니다.
212 213 214 |
# 파일 'lib/mongoid/factory.rb', 212줄 def from_db(class, 속성 = nil, 기준 = nil, selected_fields = nil) execute_from_db(class, 속성, 기준, selected_fields) end |