Rails3自定义生成器被忽略
问题描述:
我已经继承了特定的生成器并编辑了该方法,因此创建了_form的规范。还有的解决方案:Rails3自定义生成器被忽略
# 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
如果我做rails g
rspec_modded:脚手架是在列表,如果手动(rails g rspec_modded:scaffold test
)称为实际工作。
# config/application.rb
# ...
config.generators do |g|
g.test_framework :rspec_modded, :fixture => false, fixture_replacement: nil
g.fallbacks[:rspec_modded] = :rspec
end
对于我所知道的,每个hook_for :test_framework
应该叫rspec_modded发生器和RSpec应该管理什么,我还没有(如模型)。但它不起作用:出于某种原因,unit_test生成器启动了!什么事?我真的不明白......
PS:我用Rails 3.2.6
答
挖掘和尝试了很多之后,我成立这factory_girl_rails
创业板的这种奇怪的行为的罪魁祸首! 问题是在文件lib/factory_girl_rails/railtie.rb
,它有检查rspec的是test_framework,如果不是,暴力破解来unit_test -_-
,知道我看到他们有固定的初始...
但是,为什么此配置会覆盖用户定义的配置?我认为这应该是最重要的...有人可以澄清它吗?
挖掘的另一位后,似乎把代码生成器在初始化覆盖用户之一,但如果这段代码是Railtie类定义的身体,一切运作良好...