鉴于此课程:
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.我知道枚举是相对较新的添加。可以这样做吗?
答案 0 :(得分:14)
根据enum docs,您可以通过类引用可枚举:
User.permissions[:permission_staff]
工厂只是ruby代码 - 因此他们应该能够以相同的方式访问该值
testuser1:
id: 1
username: sam
permission: <%= User.permissions[:permission_staff] %>