【发布时间】:2016-01-24 22:45:11
【问题描述】:
试图了解如何使用枚举来帮助管理不同的用户状态级别。
class User < ActiveRecord::Base
enum user_status: [:active, :pending, :trial]
end
所以现在 active 是 0,pending 是 1,trial 是 2。
如果我这样做:
user.active?
这很好用,但目前当我设置值时,我仍在这样做:
user.user_status = 0
我希望我可以这样做:
user.user_status = User.UserStatus.trial
关键是我不想记住每个枚举值是什么索引。
另外,如果我更改顺序或添加更多 user_status 值,索引将会更改,并且我想防止错误导致我对代码库中的值进行硬编码。
有没有更好的方法来处理枚举索引值?
【问题讨论】:
标签: ruby-on-rails