ruby-on-rails - 未定义的方法 `dangerous_class_method?'

标签 ruby-on-rails activerecord error-handling enums

我正在尝试在非 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/

相关文章:

ruby-on-rails - rails : Two values for label_method (simple_form_for)

ruby-on-rails - 如何让 Bootstrap 类似按钮的复选框最初被选中?

angular - 如何从HttpErrorResponse获取请求的正文/内容? [Angular ErrorHandler]

python - 错误 5 :Access denied PyTesseract

c++ - C++::自定义异常,未捕获变量消息(<< 运算符)

javascript - 我缺少哪些 Babelify 预设/插件来解析这段代码?

ruby-on-rails - 在一页上列出并创建 rails 3

java - 对非 Rails 应用程序使用 activerecord 迁移,步骤是什么?

mysql - 如何在 ActiveRecord 模型的属性中存储数组?

ruby-on-rails - 如何验证其他表中的相应条目是否存在