异常:Mongoid::Errors::UnregisteredClass
- 继承:
-
MongoidError
- 对象
- StandardError
- MongoidError
- Mongoid::Errors::UnregisteredClass
- 定义于:
- lib/mongoid/errors/unregistered_class.rb
Overview
当 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继承的属性
实例方法摘要折叠
-
#initialize(klass, resolver) ⇒ UnregisteredClass
构造函数
UnregisteredClass 的新实例。
从MongoidError继承的方法
构造函数详情
#initialize(klass, resolver) ⇒ UnregisteredClass
返回 UnregisteredClass 的新实例。
36 37 38 39 40 41 42 43 44 |
# File 'lib/mongoid/errors/unregistered_class.rb', line 36 def 初始化(klass, 解析器) 超( ( 'unregistered_class', 类: klass, 解析程序: 解析器.检查 ) ) end |