Fer*_*ndo 5 ruby-on-rails ruby-on-rails-3
我正在尝试在Rails中扩展模型生成器(rails g model).基本上我的生成器应该与模型一样做,但复制2个附加文件.就那么简单.
我查看了Railscast#218(http://railscasts.com/episodes/218-making-generators-in-rails-3),这是非常翔实的,但我找不到任何有关扩展生成器的信息.
检查rails的源代码,看起来模型生成器在lib/rails/generators/rails/model/model_generator.rb中定义为Rails :: Generators :: ModelGenerator.
我试图让我的生成器扩展这个类,但它导致:
Error: uninitialized constant Rails::Generators::ModelGenerator.
Run Code Online (Sandbox Code Playgroud)
我尝试要求此文件的尝试并不成功.
所以我决定停下来问这里.扩展发电机的正确方法是什么?
看一下钩子和调用。
class MyGenerator < Rails::Generators::Base
def create_my_file
# Do your generators stuff
create_file "config/initializers/my.rb", "# Add content here"
# Create model
invoke("model", ["model_name", "arg1", "arg2"])
end
end
Run Code Online (Sandbox Code Playgroud)
希望这有帮助。
| 归档时间: |
|
| 查看次数: |
962 次 |
| 最近记录: |