我在配置/初始化器中重新打开一个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'。