【发布时间】:2011-06-25 02:29:14
【问题描述】:
我正在使用factory_girl_rails 而不是固定装置。这是我的模型:
class User < ActiveRecord::Base
has_many :tasks
belongs_to :project
end
class Task < ActiveRecord::Base
belongs_to :user
belongs_to :project
end
class Project < ActiveRecord::Base
has_many :users
has_many :tasks
end
这是相关的工厂:
Factory.define :task do |t|
t.association :user
t.association :project
t.after_create {|t| t.user.tasks << t}
t.after_create {|t| t.project.tasks << t}
end
在集成测试中我这样做:
scenario "user with tasks from one project is assigned another task from the same project" do
user = Factory.create :user
(1..5).each { Factory.create(:task, :user => user, :project => user.project)}
visit_project_path user.project
correctly_fill_in_new_task_fields
click_button "Create task" #creates a new task for the above user
assert user.tasks.size == 6 #currently fails
end
我遇到的问题是在场景运行user.tasks.size == 5 之后,但是Task.where(:user_id => user.id).size == 6。如有任何帮助,我将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 associations factory-bot