【问题标题】:More than one enum value for an attribute一个属性的多个枚举值
【发布时间】:2017-04-20 13:38:07
【问题描述】:

假设我有以下非常简单的代码 sn-p

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

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

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

【问题讨论】:

  • 您可以使用 rolify gem 来实现此功能,而无需使用枚举

标签: ruby-on-rails rails-activerecord


【解决方案1】:

简单的答案是“不”。您不能仅使用 ActiveRecord 的枚举方法来做到这一点。您可以通过滚动您自己的类似功能或像 rolify 这样的 gem 来做到这一点。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      相关资源
      最近更新 更多