Рекомендую грабли.Вы можете вставить его в lib/tasks
, и все в проекте получат его, но не всем нужно его запускать, и только когда он будет запущен, он будет делать что-либо. Это отличный учебник по написанию рейковых заданий, просто не забудьте прочитать часть под заголовком Rails , чтобы узнать, как вводить ваши модели.
После этоговаши рейковые задачи - это просто код ruby.Я бы предложил использовать динамические методы find_or_create_by
, чтобы явно создавать модели, которые вы хотите, и если они запускаются несколько раз, они не будут создаваться несколько раз.Вы также можете выбрать уничтожение всех записей в конкретной модели перед их созданием.
Я бы не рекомендовал использовать Factory Girl, потому что вы, вероятно, хотите получить явный контроль над тем, как создаются ваши модели.
Вотпример грабли, чтобы показать, насколько это просто:
#lib/tasks/my_task.rake
task :fake_data => :environment do
MyModel.find_or_create_by_name("Test")
end
Затем в консоли:
rake fake_data
Или:
rake fake_data RAILS_ENV=test
Та да!