如何将Model枚举转换为INT值?
我正在尝试这样做:
class User < ActiveRecord::Base
enum user_type: [:member, :super]
end
现在说我有一条用户记录,现在我想在另一个查询中使用user_type
枚举值:
u = User.find_by_type(@user.user_type)
def self.find_by_user_type(user_type)
User.where(user_type: user_type).take
end
这不起作用,因为 user.user_type正在返回&#34;成员&#34;或者&#34;超级&#34; ,我需要0或1。
有没有办法从@user实例获取Int值?
(Rails 4.x)
答案 0 :(得分:2)
获取枚举类型的等效整数:
User.user_types[self.user_type] # returns integer value
如有必要,请将self
替换为其他用户实例。