【发布时间】:2016-05-16 09:52:16
【问题描述】:
在我的模型中,我有一些上下文验证:
class User
validate :permissions, on :admin
def permissions
error.add(:permissions, 'Must be set as admin') unless permissions.include? :admin
end
end
而且用法很简单:
user.save(context: :admin)
问题是:如何通过 factory_girl 检查验证是否在 admin 上下文中运行?例如。 create :user, context: :admin 不起作用。
【问题讨论】:
-
您在使用 FactoryGirl 创建用户对象时是否遇到任何错误?究竟什么不起作用?
-
如果我运行
create :user没有错误。但是如果我运行create :user, context: :admin我得到未定义的方法 context='` -
您的模型中是否定义了属性访问器?
-
不,那样做不会错吗?
-
尝试将
attr_accessor: :permissions添加到您的模型中
标签: ruby-on-rails ruby ruby-on-rails-4 rspec factory-bot