【发布时间】:2013-07-12 03:26:42
【问题描述】:
这是对这个问题的后续:Factory_Girl not generating unique records
未创建需求记录的原因是未正确创建用户记录(或至少未正确创建关联)。
给定以下工厂:
factory :user do
sequence(:name) { |n| "foo#{n}" }
password "fooBar_1"
email { "#{name}@example.com" }
app_setting
factory :adminUser do |user|
user.role_assignments { |ra| [ra.association(:adminAssignment)] }
end
factory :reader do |user|
user.role_assignments { |ra| [ra.association(:readerAssignment)] }
end
end
factory :role_assignment do
factory :adminAssignment do |ra|
ra.association :role, factory: :adminRole
end
factory :readerAssignment do
association :role
end
end
factory :role do
roleName "reader"
factory :adminRole do |r|
r.roleName "Administrator"
end
end
以下代码的 sn-p 应生成具有相关 role_assignment 记录的用户,其相关角色记录的角色名称为“Administrator”
user = FactoryGirl.create(:adminUser)
这实际上将在 rails 控制台中工作 - 记录按预期在数据库中创建。但是,在设置过程中执行该行代码时,不会保存记录,并且依赖于角色分配的测试会失败。
有什么建议可以从哪里找出未提交记录的原因?
【问题讨论】:
标签: ruby-on-rails save factory-bot