Ruby on rails 3.2 忽略Rails3自定义生成器

Ruby on rails 3.2 忽略Rails3自定义生成器,ruby-on-rails-3.2,generator,Ruby On Rails 3.2,Generator,我继承了一个特定的生成器并编辑了该方法,以便为_表单创建规范。有一个解决方案: # lib/generators/rspec_modded/scaffold/scaffold_generator.rb require 'generators/rspec/scaffold/scaffold_generator.rb' module RspecModded module Generators class ScaffoldGenerator < Rspec::Generators::

我继承了一个特定的生成器并编辑了该方法,以便为_表单创建规范。有一个解决方案:

# lib/generators/rspec_modded/scaffold/scaffold_generator.rb
require 'generators/rspec/scaffold/scaffold_generator.rb'
module RspecModded
  module Generators
    class ScaffoldGenerator < Rspec::Generators::ScaffoldGenerator
      def generate_view_specs
        super
        copy_view :_form
      end
    end
  end
end
据我所知,每个
hook\u For:test\u framework
都应该调用rspec\u modded generator,rspec应该管理我没有的(比如model)。但它不起作用:出于某种原因,单元测试生成器启动了!怎么了?我真的不明白


PS:我正在使用rails 3.2.6

经过大量的挖掘和尝试,我发现
factory\u girl\u rails
gem是这种奇怪行为的罪魁祸首! 问题出在文件
lib/factory\u girl\u rails/railtie.rb
中,它有一个初始值设定项,用于检查rspec是否是测试框架,如果不是,则使用bruteforce进行单元测试-_-

我知道他们已经修好了

但是,为什么此配置会覆盖用户定义的配置?我认为这一个应该有最高优先级。。。有人能澄清吗


经过进一步挖掘,似乎将生成器的代码放在初始值设定项中会覆盖用户的代码,但如果该代码段位于Railtie类定义的主体中,则所有代码都可以正常工作

# config/application.rb
# ...
config.generators do |g|
  g.test_framework :rspec_modded, :fixture => false, fixture_replacement: nil
  g.fallbacks[:rspec_modded] = :rspec
end