定制工厂机器人的脚手架发电机

时间:2018-07-12 07:03:28

标签: ruby-on-rails factory-bot

在生成rails g scaffold HighScore game:string score:integer之类的新议程时,factory_bot生成器会创建文件spec/factories/high_scores.rb

  ...
  invoke      factory_bot
  create        spec/factories/high_scores.rb
  ...

我想定制那个生成器,所以我写自己的一个。但是我不知道将新模板保存在哪里,因此脚手架生成器可以使用它。

我尝试过:

lib/templates/rspec/factory_bot.rb
lib/templates/rspec/scaffold/factory_bot.rb

或者我自己的生成器:

lib/generators/rails/factory_bot_changes
lib/generators/rails/factory_bot_changes/USAGE
lib/generators/rails/factory_bot_changes/factory_bot_changes_generator.rb
lib/generators/rails/factory_bot_changes/templates
lib/generators/rails/factory_bot_changes/templates/factory_bot.rb

我还试图更改config/application.rb

config.generators do |gen|
  gen.orm :active_record
  gen.template_engine :haml
  gen.test_framework :rspec,
                     fixtures: true,
                     view_specs: true,
                     helper_specs: true,
                     routing_specs: true,
                     controller_specs: true,
                     request_specs: true
  gen.helper :helper_and_policy
  gen.scaffold_controller :controller_with_smart_listing
  gen.fixture_replacement :factory_bot, dir: "spec/factories"
  # gen.fixture_replacement :factory_bot_changes, dir: "spec/factories"
  gen.factory_bot false
end

但是似乎没有任何作用。

我应该在哪里保存新模板,或者在脚手架完成后如何触发自己的生成器来替换文件?

0 个答案:

没有答案