我尝试使用特征并在我尝试在我的规范中声明一个时出现错误
Rails版本是4.0.2 FactoryGirl 4.3.0
FactoryGirl.define do
factory :user do
name "pete"
trait :admin do
admin true
end
end
end
//在规范
中user = create(:user, :admin)
//失败
NoMethodError: 对于#
,未定义的方法'admin ='谁能看到我在哪里出错?
谢谢!
答案 0 :(得分:1)
首先确保User
模型的字段为 admin
?然后,如果您不需要重用trait
属性允许的属性,请使用manual中描述的工厂:
FactoryGirl.define do
factory :user do
name "pete"
factory :admin do
admin true
end
end
end
并创建factorie:
user = create :user
admin = create :admin
如果您必须创建交叉使用的模型属性(例如 male/female
)以及 admin/non-admin
,请使用特征。