需要明确的是,这里不是我想:有默认的Rails生成调用自定义生成
- 有我的自定义生成调用默认的Rails生成
- 替换默认的Rails发生器用我自己
我想要做的是有我的生成器被自动调用,当我打电话:
rails generate scaffold User name age:integer
我不写一个测试替代品或任何东西,它是完全自定义的。我在那里找到关于生成器的所有信息都涉及前两种情况之一,但不是我想要做的。一旦我找到hook_for
,我立即认为这正是我所需要的,但它似乎做了相反的事情 - 从我自定义的内部调用另一个Rails生成器(如果我想为我的自定义生成器创建一个测试文件,我会请致电hook_for :test_framework
,然后在某处定义TestUnit::MyCustomGenerator
类)。
我想我可以用默认脚手架发电机给猴子打电话给我,但感觉很脏。我查看了一些类似https://github.com/Skalar/i18n-yaml-generator之类的宝石,但试图将其转换为使用初始化程序,并且lib/generators
不适用于我。 scaffold_generator运行,但我从来没有被调用。
有没有这样的运气? –
不,我最终创建了一个新的自定义生成器,它会调用Rails的默认值,然后是我的。例如'rails g localized_scaffold用户名'首先调用'脚手架用户名',然后运行我自己的本地化生成代码。 –