Вот мои модели:
class Parent < ActiveRecord::Base
has_many :children
accepts_nested_attributes_for :children
validate :parent_must_have_child_status_1
def parent_must_have_child_status_1
errors.add(:base, :no_child_status_1) if children.all? {|c| c.status != 1}
end
end
class Child < ActiveRecord::Base
belongs_to :parent
accepts_nested_attributes_for :parent
validates :parent, :presence => true
end
и мои заводы:
factory :parent do
children { [FactoryGirl.build(:child, :status=>1)] }
end
factory :child do
parent
end
и результат FactoryGirl.create
FactoryGirl.create(:parent) #=> SystemStackError: stack level too deep
FactoryGirl.create(:child) #=> SystemStackError: stack level too deep
Я хочу решить эти ошибки.
Я попробовал несколько вещей, но я не мог их решить.
Как я могу создать родительскую и дочернюю фабрику в этой ситуации?
У вас есть идея?
Спасибо!