首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >工厂女孩/ Rspec模型测试的特定关联

工厂女孩/ Rspec模型测试的特定关联
EN

Stack Overflow用户
提问于 2015-02-26 05:53:21
回答 1查看 164关注 0票数 0

我正在尝试这样做,在spec/model/user_role.spec中:

代码语言:javascript
运行
复制
role_trainer = FactoryGirl.create(:role_trainer)
user_role = FactoryGirl.build(:user_role, :role => role_trainer)

其中,我想在spec/factories/Roles.rb中指定特定的"role_trainer“:

代码语言:javascript
运行
复制
factory :role_trainer, parent: :role do |f|
  f.name "trainer"
end

然后对于spec/factories/role_spec.rb,我有:

代码语言:javascript
运行
复制
FactoryGirl.define do
  factory :user_role do
    user
    role
  end
end

这些模型是:

代码语言:javascript
运行
复制
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构建的输入用户?

EN

回答 1

Stack Overflow用户

发布于 2015-02-26 05:59:27

我会这样做:

代码语言:javascript
运行
复制
FactoryGirl.define do
    factory :role_trainer do
        name 'Trainer'
    end
end

这应该能起到作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28730383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档