使用 FactoryBot,我无法在我的规范中创建管理工厂,因为在 before_create
回调中为每个用户分配了默认的用户角色。这意味着当回调发生时,我分配给工厂的任何角色都将更改为用户。
我真正想做的是这样的:
在我的规范里面
admin = FactoryBot.create(:user)
admin.role = 'admin'
第二行
admin.role = 'admin'
不做任何事情。有任何想法吗?我也愿意接受更好的方法。
最佳答案
只是另一种方式
# Steal some code from MrYoshiji at first.
factory :user do
sequence(:username) { |n| "User ##{n}"}
role 'user'
# Then a separate factory inside
factory :admin do
role 'admin'
end
end
# Use
FactoryBot.create(:admin)
关于ruby-on-rails - 创建记录后更改工厂的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19276379/