2015-02-06 6 views
0

Я хотел бы создать пользователей с разными ролями в моих спецификациях, но я не могу сделать это правильно.Как переключить роли пользователя с помощью FactoryGirl?

Пользователь

belongs_to :role 

Роль

has_many :users 

Роли завода:

FactoryGirl.define do 

    factory :role do 
    name "teacher" 
    end 

    factory :student, parent: :role do 
    name "student" 
    end 

end 

завод Пользователь

FactoryGirl.define do 
    factory :user do 
    email '[email protected]' 
    password '12345678' 
    password_confirmation '12345678' 

    role 
    end 
end 

Спец.

let(:app_user) { FactoryGirl.create(:app_user) } 
let!(:app_user2) { FactoryGirl.create(:app_user, role: "student") } 

Я знаю, что есть ошибка, но не может понять это! Спасибо!

ответ

0

Попробуйте association:, что путь:

FactoryGirl.define do 
    factory :user do 
    association: :role 
    email '[email protected]' 
    password '12345678' 
    password_confirmation '12345678' 
    end 
end 

или алиасы - вы можете прочитать о них here.

Смежные вопросы