【问题标题】:Using ActiveRecord enum give error about generating 'new' class method on model使用 ActiveRecord 枚举在模型上生成“新”类方法时出错
【发布时间】:2014-07-20 19:39:54
【问题描述】:

我在版本 4.1.4 的 Rails 应用程序中使用ActiveRecord enums。我的Message 模型的status 列上有一个枚举。当我尝试使用辅助方法 statuses 查看所有可用状态时,我收到错误:您尝试在模型“消息”上定义一个名为“状态”的枚举,但这将生成一个类方法“new”,它已经被 Active Record 定义了。

Message 模型 belongs_to 其他两个模型,但这不是问题,因为我注释掉了关系,它仍然出现错误。我似乎找不到其他人遇到这个问题。

class Message < ActiveRecord::Base
  belongs_to :user
  belongs_to :contact
  enum status: %w(new assigned archived)
end

【问题讨论】:

    标签: ruby-on-rails activerecord enums


    【解决方案1】:

    哇,我真的没想到这里,我试图使用枚举值new,这是一个类方法,因此我无法使用enum status: [:new] 定义新方法。我只需要将其更改为未分配

    【讨论】:

    • 是的,文字自己说了算,这是一个解释问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多