2016-06-10 90 views
0
二级

我有两个类CustomerPassenger(谁在飞行中)与相同属性的性别。所以在客户类中我声明枚举性别枚举为

class Customer < ActiveRecord::Base 
    enum GENDER: {MALE: 1, FEMALE: 2} 
end 

而这个枚举也被Passenger类使用。

什么是在这种情况下,最好的做法是什么? 如果我这个枚举拆分到其他类(例如:GenderHelper)?

如果是的话,我怎么能在辅助类声明枚举?像模型一样从ActiveRecord :: Base继承?

回答

1

您可以创建一个问题,其中包括它在这两个CustomerPassenger

应用程序/模型/顾虑/ gender.rb

module Gender 
    extend ActiveSupport::Concern 

    included do 
    enum GENDER: {MALE: 1, FEMALE: 2} 
    end 
end 

应用程序/模型/ customer.rb

class Customer < ActiveRecord::Base 
    include Gender 
end 
+0

所以你的意思是,当我想用​​性别枚举,我有例如呼叫Customer.GENDER [[MALE]和Passenger.GENDER [[MALE])。这是使用常见枚举的好习惯吗? –

+0

结论,枚举必须属于ActiveRecord类的类型,对吗? –