Подтвердить что ты не робот

Файл Split seeds.rb

Мой файл seeds.rb становится очень большим. Каков наилучший способ рефакторинга данных в файле?

Могу ли я поместить данные в различные файлы и require их в файл seeds.rb?

4b9b3361

Ответ 1

Так как ваш файл seeds.rb - это Ruby, то вы можете делать все, что вы можете сделать в Ruby. Подобно routes.rb и Gemfile, вы можете получить довольно творческий, если потребуется.

Просто убедитесь, что вы не делаете ничего такого сумасшедшего, на самом деле это потребует некоторой отладки. Пока вы держите свои действия ясными, не должно быть путаницы. То есть, не используйте настраиваемые вспомогательные методы, которые определены в каком-либо другом файле, которые могут быть неисправны и должны быть отслежены вручную. Вероятно, лучше всего придерживаться самого простого решения, когда делаете такие вещи.

Ответ 2

Мы сохраняем все семена внутри папки db/seeds и внутри db/seeds.rb пишем следующее:

Dir[File.join(Rails.root, 'db', 'seeds', '*.rb')].sort.each { |seed| load seed }

Мы сортируем файлы по алфавиту перед их загрузкой, поэтому мы можем убедиться, что файлы обрабатываются в порядке (путем выбора наименований файлов, например, например, 01_operators.rb, 02_companies.rb, 03_products.rb ...).

Надеюсь, что это поможет.