Заводська дівчинка закручує фабрики.rb після генераторів - рубін на рейках, фабрика-бот

У мене є простий factories.rb подобається це:

FactoryGirl.define do
factory :book_category do
sequence(:name) { |n| "Cateogry #{n}" }
end

factory :book do
sequence(:title) { |n| "Book #{n}" }
end
end

Після того, як я запускаю модель генератора rails g model categorization book:references category:references мій файл закінчується так:

FactoryGirl.define do  factory :categorization do
book nil
category nil
end

factory :post_category do
sequence(:name) { |n| "Cateogry #{n}" }
end

factory :book do
sequence(:title) { |n| "Book #{n}" }
end
end

Це відбувається після кожного покоління моделі.

Також, якщо я створюю фабрику перед створенням aмодель, а потім запустити генератор для створення моделі дає помилку, кажучи щось подібне "завод вже існує". Так що я повинен чекати, поки я генерувати модель, перш ніж додати завод.

Це помилка?

Я використовую рейки 4.2.4 і factory_girl_rails 4.5.0.

Редагувати: Я спробував видалити все з factories.rb файл і просто додайте це:

FactoryGirl.define do
end

Після спроби створити модель заводу за допомогою команди rails g factory_girl:model book, ось що я закінчив:

FactoryGirl.define do  factory :book do

end

end

Відповіді:

0 для відповіді № 1

Я думаю, що це має щось відношення до символів пробілів, які є у вашому файлі factory.rb. Оскільки вона походить від джерела (https://github.com/thoughtbot/factory_girl_rails/blob/master/lib/generators/factory_girl/model/model_generator.rb#L46), він вставляє код після символу "n".

Переконайтеся, що у вас немає непарних символів, можливо, навіть регенерувати файли фабрик rails g factory_girl:model.