在Rails中,可以通过以下方式从枚举值获取键名:
enum
方法定义枚举类型和对应的键值对。例如,在一个User
模型中定义了一个名为role
的枚举字段:class User < ApplicationRecord
enum role: { admin: 0, moderator: 1, user: 2 }
end
User.roles
方法获取所有的枚举键值对。这将返回一个哈希表,其中键是枚举的键名,值是对应的整数值。roles = User.roles
# => { "admin" => 0, "moderator" => 1, "user" => 2 }
invert
方法将键值对调,以便通过值获取键名。inverted_roles = roles.invert
# => { 0 => "admin", 1 => "moderator", 2 => "user" }
fetch
方法或直接通过哈希表索引获取。role_name = inverted_roles.fetch(1) # 通过fetch方法获取
# => "moderator"
role_name = inverted_roles[1] # 直接通过索引获取
# => "moderator"
这样,你就可以从Rails中的枚举值获取对应的键名了。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但你可以通过搜索引擎或腾讯云官方网站查找与云计算相关的产品和服务。
云+社区技术沙龙[第10期]
《民航智见》线上会议
“中小企业”在线学堂
腾讯技术开放日
高校公开课
云+社区技术沙龙[第11期]
云+社区技术沙龙[第6期]
腾讯云GAME-TECH沙龙
云+社区开发者大会 长沙站
领取专属 10元无门槛券
手把手带您无忧上云