Car*_*ham 2 ruby serialization activerecord ruby-on-rails
我通过构建命名空间和名称以及使用来加载序列化程序constantize.
如果序列化器不存在则会抛出未初始化的常量错误.
在将名称转换为常量之前,有什么方法可以尝试常量或主动检查序列化程序是否存在?
你可以使用Object.const_defined?:
'Serializer'.constantize if Object.const_defined?('Serializer')
Run Code Online (Sandbox Code Playgroud)
或者你也可以使用Ruby方法Object.const_get而不是Rails 方法:
Object.const_get('Serializer')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |