예외: Mongoid::Errors::UnregisteredClass
- 상속:
-
MongoidError
- 객체
- StandardError
- MongoidError
- Mongoid::Errors::UnregisteredClass
- 다음에 정의됨:
- lib/mongoid/errors/unregistered_class.rb
개요
Mongoid가 다형성 연관 관계에서 주어진 클래스에 사용할 식별자를 쿼리 하려고 하지만, 해당 클래스가 쿼리 에 사용된 리졸버에 의해 이전에 등록된 적이 없을 때 발생합니다.
예시 들면 다음과 같습니다.
class Department
include Mongoid::Document
has_many :managers, as: :unit
end
class Manager
include Mongoid::Document
belongs_to :unit, polymorphic: :org
end
관리자 클래스는 다형성 'unit' 연관 관계를 해석할 때 ':org'라는 사용자 지정 리졸버를 사용하도록 구성됩니다. 그러나 `Department` 클래스는 해당 리졸버에 등록되지 않습니다. 프로그램이 관리자 기록 부서와 연결하려고 하면 `:org` 해석기에서 필요한 키를 찾을 수 없으며 이 예외가 발생하여 실패합니다.
해결책은 'Department' 클래스가 `:org` 리졸버에 올바르게 등록되었는지 확인하는 것입니다.
class Department
include Mongoid::Document
identify_as resolver: :org
has_many :managers, as: :unit
end
상수 요약
MongoidError에서 상속된 상수
인스턴스 속성 요약
MongoidError에서 상속된 속성
#problem, #Resolution, #summary
인스턴스 메서드 요약 접기
-
#initialize(klass, resolver) ⇒ UnregisteredClass
생성자
UnregisteredClass의 새 인스턴스 .
MongoidError에서 상속된 메서드
생성자 세부 정보
#initialize(klass, resolver) ⇒ UnregisteredClass
UnregisteredClass의 새 인스턴스 반환합니다.
36 37 38 39 40 41 42 43 44 |
# 파일 'lib/mongoid/errors/unregistered_class.rb', 줄 36 def 초기화(class, 리졸버) super( ( 'unregistered_class', class: class, 해석기: 리졸버.검사 ) ) end |