【发布时间】:2011-09-21 13:59:40
【问题描述】:
我正在使用factory_girl_rails 而不是固定装置。这是我的模型:
class User < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :user
end
这是我的工厂:
Factory.define :user do |u|
end
Factory.define :task do |t|
t.association :user, :factory => :user
end
在测试中我这样做:
user = Factory.create :user
(1..5).each { Factory.create(:task, :user => user)}
我遇到的问题是之后user.tasks 只包含一项任务。
我尝试过像这样定义user 工厂:
Factory.define :user do |u|
u.tasks {|tasks| [tasks.association(:user)] }
end
像这样:
Factory.define :user do |u|
u.tasks {|tasks| [tasks.association(:user), tasks.association(:user)] }
end
在这两种情况下,Factory.create(:user) 都会导致无限循环。
【问题讨论】:
-
(1..5).each { Factory.create(:task, :user => user)}在我的控制台中运行良好。
标签: ruby-on-rails ruby-on-rails-3 associations factory-bot