在Rails 4.2中,如何将整数转换为枚举?

时间:2015-03-09 17:30:49

标签: ruby-on-rails-4 rails-activerecord

在Rails 4.2中我可以写:

class Task < ActiveRecord::Base
  enum priority: { normal: 50, low: 0, high: 100 }
end

如果我有一个SQL查询(由于不明原因)将优先级作为整数返回,是否有一种简单的方法可以将该整数转换为相应的枚举值,例如。 :high

(显然我可以从Task.priorities中的值查找键,或者定义我自己的反向索引,但可能这已经在Rails中的某处实现了......)

1 个答案:

答案 0 :(得分:5)

显然在ruby 1.9+中我可以写:

Task.priorities.key(100)
=> "high"

不知道这是否有效,但由于哈希表很小......