Ruby on rails Factorygirl管理创建
我正在学习MichaelHartl的在线教程,在清单9.42中,我很难理解代码Ruby on rails Factorygirl管理创建,ruby-on-rails,ruby,nested,admin,Ruby On Rails,Ruby,Nested,Admin,我正在学习MichaelHartl的在线教程,在清单9.42中,我很难理解代码 FactoryGirl.define do factory :user do sequence(:name) { |n| "Person #{n}" } sequence(:email) { |n| "person_#{n}@example.com"} password "foobar" password_confirmation "foobar" factory :a
FactoryGirl.define do
factory :user do
sequence(:name) { |n| "Person #{n}" }
sequence(:email) { |n| "person_#{n}@example.com"}
password "foobar"
password_confirmation "foobar"
factory :admin do
admin true
end
end
end
然后在清单9.43中创建admin
describe "as an admin user" do
let(:admin) { FactoryGirl.create(:admin) }
我不明白的是,如何创建一个没有任何
代码
sequence(:name) { |n| "Person #{n}" }
sequence(:email) { |n| "person_#{n}@example.com"}
password "foobar"
password_confirmation "foobar"
在管理区内
似乎:admin块嵌套在:user块中,因此:user块代码在FactoryGirl.create(:admin)
在:user块中创建用户名、电子邮件、密码的管理员
是这样吗?
谢谢大家! 是的,没错。创建嵌套FactoryGirl对象时,该对象将继承其父对象的所有属性。是,这是正确的。当您创建嵌套FactoryGirl对象时,该对象将继承其父对象的所有属性。假设您已经知道如何创建,则问题的解释是
:admin
工厂是在:user
工厂中定义的
FactoryGirl.define do
factory :user do
...
factory :admin do
admin true
end
end
end
在这种情况下,:admin
将继承用户的所有属性,以及特定的admin:true
设置
FactoryGirl.create(:admin)
假设您已经知道如何操作,对您的问题的解释是
:admin
工厂是在:user
工厂中定义的
FactoryGirl.define do
factory :user do
...
factory :admin do
admin true
end
end
end
在这种情况下,:admin
将继承用户的所有属性,以及特定的admin:true
设置
FactoryGirl.create(:admin)
非常感谢你的帮助!非常感谢你的帮助!