在初始化器class_eval中扩展枚举



我在配置/初始化器中重新打开一个gem内部模型。我想在重新打开类时扩展某个字段的枚举。它是这样的

========= 我的宝石 ==========

class organisation < ActiveRecord::Base
  enum organisation_type:{
    'a' => 1,
    'b' => 2,
  }
end

= = = = = = =我的初始值设定项 ==========

organisation.class_eval do
  enum organisation_type:{
    'c' => 3
  }
end

但是它说我不能覆盖enumerate因为它已经是一个final方法了。谁能给我一个方法来扩展枚举,这样我就可以有a,b和c选项?

我建议创建一个继承类'Organization'的新模型。在新模型中,您可以重新定义枚举。例如:

class NewOrganisation < Organisation
  enum organisation_type:{
   'a' => 1,
   'b' => 2,
   'c' => 3
  }
end

现在,你可以访问组织的所有方法,并重新定义enum 'organisation_type'。

相关内容

  • 没有找到相关文章

最新更新