【发布时间】:2015-12-08 11:37:26
【问题描述】:
class Topic < ActiveRecord::Base
belongs_to :success_criterion
end
class SuccessCriterion < ActiveRecord::Base
has_many :topics, dependent: :restrict_with_error
end
SuccessCriterion 管理一个topics_counter 计数器,但使用以下工厂时似乎没有更新:
FactoryGirl.define do
factory :topic do
success_criterion { create(:success_criterion) }
title 'Topic test title'
intro 'Topic test intro'
outro 'Topic test outro'
end
end
看看以下内容:
@topic = create :topic
@success_criterion = @topic.success_criterion
@success_criterion.topics.any?
=> false
@success_criterion.topics_count
=> 0
@success_criterion.topics.count
=> 1
这里发生了什么?如果没有 topics_counter 字段,它会按预期工作,所以看起来 FactoryGirl 在执行 success_criterion { create(:success_criterion) } 时似乎没有更新计数器。
【问题讨论】:
标签: ruby-on-rails counter factory-bot