При условии, что у меня есть фабрика проекта
Factory.define :project do |p|
p.sequence(:title) { |n| "project #{n} title" }
p.sequence(:subtitle) { |n| "project #{n} subtitle" }
p.sequence(:image) { |n| "../images/content/projects/#{n}.jpg" }
p.sequence(:date) { |n| n.weeks.ago.to_date }
end
И это я создаю экземпляры проекта
Factory.build :project
Factory.build :project
К этому времени в следующий раз я выполняю Factory.build (: проект) я получу экземпляр Проекта с набором заголовка к "заголовку проекта 3" и так далее. Не удивление.
Теперь скажите, что я хочу сбросить свой счетчик в этом объеме. Что-то как:
Factory.build :project #=> Project 3
Factory.reset :project #=> project factory counter gets reseted
Factory.build :project #=> A new instance of project 1
Каков был бы лучший способ достигнуть этого?
Я в настоящее время использую следующие версии:
factory_girl (1.3.1) factory_girl_rails (1.0)
Заранее спасибо, С наилучшими пожеланиями.
Нет встроенного способа сбросить последовательность, см. Исходный код здесь:
http://github.com/gotitbot/factory_girl/blob/master/lib/factory_girl/sequence .rb
Однако некоторые люди взломали / исправили эту функцию. Вот пример:
http://www.pmamediagroup.com/2009/05/smarter-sequencing-in-factory-girl/