Rails Model 中使用 Enum (枚举)

使用场景与个人理解:用作 model 中类似 status 这种字段的翻译。数据库中通常会把这样的字段存成 Integer 类型,比如 0 (激活),1 (存档)。我们在代码中引用的话用英文代表相应的 Integer 值,可增加代码可读性,否则直接写在 sql 中或者直接写 0 或者 1 很难知道它们到底代表什么。所以,枚举类型其实是 { active: 0, archived: 1 } 。那么又如何把 active 翻译成中文呢?所以就得用 i18n 这种去翻译成中文了。

参考:
关于在 Rails Model 中使用 Enum (枚举) 的若干总结

ActiveRecord::Enum

相关gem:
enumerate_it