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