我正在尝试在非 ActiveRecord 类中使用来自 ActiveRecord::Enums 模块的枚举。
我有一个简单的类:
class Factory
extend ActiveRecord::Enum
enum state: [:active, :inactive]
end
但我收到如下错误消息:
"undefined method `dangerous_class_method?' for Factory:Class"
我不知道问题出在哪里,如果我用谷歌搜索这个错误消息,我也没有得到任何有用的结果。
有什么建议吗?
谢谢!
最好的问候 Kumaro
最佳答案
您在不应该扩展 ActiveRecord::Enum
的时候。当您调用 enum它调用detect_enum_conflict这叫dangerous_class_method? .
如果您想在继承自 ActiveRecord::Base(模型)的对象中使用 enum
,应该没有问题。
枚举的文档说:“声明一个枚举属性,其中的值映射到数据库中的整数,但可以按名称查询。”我不认为你可以在和 ActiveRecord::Base child 。
关于ruby-on-rails - 未定义的方法 `dangerous_class_method?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35020924/