我试图设置我的工厂女孩,当我通过create(:user, :admin)
时,它将创建一个用户并在角色模型/表中添加记录。我的关联是,用户has_one角色,角色belongs_to用户
这是我工厂女孩的设置
FactoryGirl.define do
factory :user do
name "Test User"
email "test_user@serviceseeking.com.au"
contact_phone "0412345678"
password "123123"
password_confirmation "123123"
skip_email_validation true
trait :as_admin do
factory(:role) { name "Untouchable" }
end
end
end
但出于某种原因,它并没有创造这个角色。
答案 0 :(得分:0)
你得到了什么错误?
我认为你应该收到错误,说没有名为:admin
的特征。如果您想通过调用create(:user, :admin)
来创建管理员用户,则必须将您的特征命名为:admin
。
其次我也认为你想在:admin
特征中做的是:
trait :admin do
role name: "Untouchable"
end
如果您已设置关联并且Role
的工厂名为:role
,则应创建名为Role
的{{1}}条记录,并将其与您的用户关联。
我希望这有帮助!