MZB*_*MZB 4 ruby-on-rails-4 rails-activerecord
在Rails 4.2中我可以写:
class Task < ActiveRecord::Base
enum priority: { normal: 50, low: 0, high: 100 }
end
Run Code Online (Sandbox Code Playgroud)
如果我有一个SQL查询(由于不明原因)将优先级作为整数返回,是否有一种简单的方法将该整数转换为其相应的枚举值,例如.:high?
(显然我可以从值中查找键Task.priorities,或者定义我自己的反向索引,但可能这已经在Rails的某处实现了......)
显然在红宝石1.9+我可以写:
Task.priorities.key(100)
=> "high"
Run Code Online (Sandbox Code Playgroud)
不知道这是否有效,但由于哈希表很小......