2016-04-14 64 views

回答

0

我不认为这是一个好主意,因为如果您以后要用新类型添加新记录,则必须手动更新enum,如果您只想知道表中的所有当前类型值可以简单的做这样的方法:

def 
    your_model_name.distinct.pluck(:type) 
end 
+0

嗨,如果你觉得有用,请接受我的解决方案:) –

0

我有一个要求列出STI的所有类型的值。所以我会 喜欢保持所有可能的值类型。

class ParentClass < ActiveRecord::Base 
    def self.sti_types 
    @sti_types ||= self.select(:type).distinct 
    end 
end 

它是一个很好的做法,使在父类中的类型字段一个枚举?

我假设你的意思是,数据库枚举类型,如果是这样的话,答案是否定的,因为它不会给你添加新类的灵活性,这意味着如果你想要一个新类,您必须迁移 enum列才能添加此新值。

相关问题