属性的多个枚举值

时间:2017-04-20 13:38:08

标签: ruby-on-rails rails-activerecord

假设我有以下非常简单的代码段

enum role: [ :admin, :enginier, :medic, :user ]

我希望我的一位用户拥有[{admin,:medic]的role,我可以将其与活动记录配合使用吗?

(换句话说,在枚举上寻找按位功能)

2 个答案:

答案 0 :(得分:1)

简单的答案是'不'。只有ActiveRecord的枚举方法才能做到这一点。您可以通过滚动自己的类似功能或像rolify这样的宝石来实现这一目标。

答案 1 :(得分:1)

我们可以使用按位枚举在单个枚举中存储多个值,例如

as_enum :roles, { admin: 0, customer: 1, user: 2 }, accessor: :bitwise