我们定义了以下模型为什么我的工厂不认可我的泳池协会?
class UserPool < ActiveRecord::Base
belongs_to :pool
belongs_to :user
validates :pool, presence: true
validates :user, presence: true
def self.created(date)
where("DATE(created_at) = ?", date)
end
end
及以下Factroy
FactoryGirl.define do
factory :user_pool do
pool
user
factory :paid_user_pool do
money_on_pool 10
end
end
end
当我运行下面的测试中,我recive错误
describe "obtain users_pools created at specifict time" do
before do
users = create_list :user, 3, active: false
user4 = create :user
@pool = create :pool
users.each do |user|
create :user_pool, user: user, pool: @pool, created_at: 1.days.ago
end
create :user_pool, user: user4, pool: @pool
end
it "should return just users_pools created at specifict time" do
users_pools = @pool.user_pools.created(1.days.ago)
users_pools.count.should eq 3
end
end
错误:
ActiveRecord::RecordInvalid:
The validation failed: Pool can’t be blank
为什么我的工厂不认可我的泳池协会?
请看我的答案,并让我知道如果这可以解决您的问题。如果没有,请显示完整的错误日志。 –
为了澄清,你确实有一个“Pool”类,对吧? – onebree
你还有问题吗?你需要提供的其他细节? – onebree