我想在spec / models / user_role.spec中执行此操作:
role_trainer = FactoryGirl.create(:role_trainer)
user_role = FactoryGirl.build(:user_role, :role => role_trainer)
我要指定具体的" role_trainer"在spec / factories / roles.rb中:
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
就是说,用语言来说,我想确定&#34;角色&#34; &#34;用户角色&#34;那将是创造的。 但是,当我这样做时,我没有发现&#34; role_trainer&#34;用作user_role的角色。 (相反,user_role由构建语句(在顶部)创建,与#34;培训师&#34;无关。)我的设置有什么问题?
另一种提问方式 - 我需要通过创建多个user_roles为单个用户添加多个角色。如何指定FactoryGirl构建的输入用户?
答案 0 :(得分:0)
我会做这样的事情:
FactoryGirl.define do
factory :role_trainer do
name 'Trainer'
end
end
这应该可以解决问题。