Ruby: 如何在夹具中配置枚举?

Ruby: How do you configure an enum in a fixture?

鉴于此 class:

class User < ActiveRecord::Base

enum permission: {
    permission_user: 1,
    permission_staff: 2,
    permission_manager: 3,
    permission_admin: 4,
    permission_super_admin: 5
}

我想创建一个如下所示的装置:

testuser1:
  id: 1
  username: sam
  permission: :permission_staff

我尝试了多种语法变体,但没有找到有效的方法。结果 user.permission 为 nil 或 0。我知道 enum 是最近添加的。这可以做到吗?

根据 enum docs 你可以像这样通过 class 引用枚举:

User.permissions[:permission_staff]

而且工厂只是 ruby 代码 - 所以他们应该能够以相同的方式访问值

testuser1:
  id: 1
  username: sam
  permission:  <%= User.permissions[:permission_staff] %>