Учитывая стандартное отношение has_many между двумя объектами. Для простого примера отпустите:
class Order < ActiveRecord::Base
has_many :line_items
end
class LineItem < ActiveRecord::Base
belongs_to :order
end
Что бы я хотел сделать, так это создать обрезанный заказ со списком оштукатуренных позиций.
FactoryGirl.define do
factory :line_item do
name 'An Item'
quantity 1
end
end
FactoryGirl.define do
factory :order do
ignore do
line_items_count 1
end
after(:stub) do |order, evaluator|
order.line_items = build_stubbed_list(:line_item, evaluator.line_items_count, :order => order)
end
end
end
Вышеприведенный код не работает, потому что Rails хочет вызвать сохранение в порядке, когда назначается строка_имя, и FactoryGirl вызывает исключение:
RuntimeError: stubbed models are not allowed to access the database
Итак, как вы (или это возможно) сгенерировать заштрихованный объект, в котором также собрана коллекция has_may?