索引 Ruby on Rails 枚举从 1 而不是 0

dcp*_*er7 1 ruby indexing enums ruby-on-rails

Ruby on Rails Enums 自动从 0 开始索引。我想从 1 开始索引这些。有什么简单的方法可以做到这一点?

trh*_*trh 6

最简单的方法是根本不使用数组。枚举是神奇的。它有能力充当一个简单的数组,例如

enum status: ["bored", "busy", "working", "sleeping"]
Run Code Online (Sandbox Code Playgroud)

或散列,基于其声明方式

enum status: {bored: 1, busy: 2, working: 3, sleeping: 4}
Run Code Online (Sandbox Code Playgroud)

只需确保在您的迁移中设置了默认状态,它可以是您喜欢的任何数字。