我目前在我的用户列中有一个postgres枚举类型设置为roles
。它按预期工作。
例:
class User < ApplicationRecord
enum role: { admin: "Admin", viewer: "Viewer" }
end
JSON响应将其返回为:
{
"id": 1,
"role": "admin"
}
但是,role
属性返回键而不是枚举值。这有解决方案吗?
试一试
def as_json(options = {})
super.tap do |hash|
hash['role'] = User::roles[role]
end
end
我会这样做的。在User
模型文件中
def role_id
User.roles[self.role]
end
然后你role_id
方法