我正在尝试这样做,在spec/model/user_role.spec中:
role_trainer = FactoryGirl.create(:role_trainer)
user_role = FactoryGirl.build(:user_role, :role => role_trainer)其中,我想在spec/factories/Roles.rb中指定特定的"role_trainer“:
factory :role_trainer, parent: :role do |f|
f.name "trainer"
end然后对于spec/factories/role_spec.rb,我有:
FactoryGirl.define do
factory :user_role do
user
role
end
end这些模型是:
class Role < ActiveRecord::Base
has_many :user_roles, :dependent => :destroy
has_many :users, :through => :user_roles
class UserRole < ActiveRecord::Base
belongs_to :user
belongs_to :role也就是说,我想要确定将要创建的“用户角色”的“角色”。但是,当我这样做时,我没有发现"role_trainer“被用作user_role的角色。(相反,构建语句(在顶部)创建了一个训练器,它与“user_role”没有任何关系。)我的设置有什么问题?
另一种方式是,我需要通过创建多个user_roles将多个角色添加到单个用户。如何指定FactoryGirl构建的输入用户?
发布于 2015-02-26 05:59:27
我会这样做:
FactoryGirl.define do
factory :role_trainer do
name 'Trainer'
end
end这应该能起到作用。
https://stackoverflow.com/questions/28730383
复制相似问题