Ruby on rails 如何与factory_girl一起创建模型?
在我的模型中,我有一些上下文验证:Ruby on rails 如何与factory_girl一起创建模型?,ruby-on-rails,ruby,ruby-on-rails-4,rspec,factory-bot,Ruby On Rails,Ruby,Ruby On Rails 4,Rspec,Factory Bot,在我的模型中,我有一些上下文验证: 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检查验证是否在ad
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
不起作用。我不认为factory\u girl提供了使用该选项创建或保存的方法。但是,您可以使用factory_girl的build
FactoryGirl.build(:user).save!(context: :admin)
或
的属性:
User.create!(FactoryGirl.attributes_for(:user), context: :admin)
当您使用FactoryGirl创建用户对象时,是否出现任何错误?什么不起作用?如果我运行create:user
就不会有错误。但是如果我运行create:user,context::admin
我会得到未定义的方法context='`您的模型中定义了属性访问器吗?不,这样做不是不对吗?尝试向您的模型中添加attr\u访问器::权限
。谢谢您的想法,我正在做类似的事情