如何使用FactoryGirl切换用户角色?

时间:2015-02-06 13:12:07

标签: ruby-on-rails rspec factory-bot

我想在我的规范中创建具有不同角色的用户,但我没有正确地完成它。

用户

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 'test@gmail.com'
    password '12345678'
    password_confirmation '12345678'

    role
  end
end

规格

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

我知道那里有一个错误,但无法解决这个问题!谢谢!

1 个答案:

答案 0 :(得分:0)

以这种方式尝试association:

FactoryGirl.define do
  factory :user do
    association: :role
    email 'test@gmail.com'
    password '12345678'
    password_confirmation '12345678'
  end
end

或定义别名 - 您可以阅读它们here