加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – 枚举选项“新”无效

发布时间:2020-12-17 04:21:00 所属栏目:百科 来源:网络整理
导读:我试图在我的模型上创建一个枚举,我希望其中一个状态是“新的” 例如 enum status: { stale: 0,new: 1,converted: 2 } 似乎rails拒绝这个以下错误. You tried to define an enum named "status" on the model "Lead",but this will generate a class method
我试图在我的模型上创建一个枚举,我希望其中一个状态是“新的”

例如

enum status: { stale: 0,new: 1,converted: 2 }

似乎rails拒绝这个以下错误.

You tried to define an enum named "status" on the model "Lead",but this will generate a class method "new",which is already defined by Active Record.

我理解为什么会这样,但我想知道是否有办法解决这个问题?

解决方法

该错误清楚地表明您不能使用新密钥枚举,因为它将与现有的ActiveRecord方法冲突.没有办法解决这个问题.

这个问题并不新鲜,之前已经讨论过了.

我建议你阅读

enum: Option not to generate “dangerous” class methods

根据Rails合作者Godfrey Chan的说法:

In this case,if you want to use enum,you are probably better off
renaming your label to something else. This is not unique to enums – a
lot of Active Record features generates methods for you and usually
there aren’t ways to opt-out of those generated methods.

Gonna give this one a close for now….

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读