2009-12-04 18 views
2

我創建了自己的腳手架發電機,現在它坐在我的〜/ .rails/generator/scaffold目錄中。如何在我使用的其他機器上使用我的生成器來創建寶石,而不需要在每個盒子上覆制〜/ .rails文件夾?我會在後面推創業板在Github上編寫自己的腳手架發電機,作爲寶石出口

+0

我已經看了一世nto之前,但我從來沒有得出任何結論。我希望能做類似的事情。我很感興趣,看看有沒有人有一個很好的答案! – 2009-12-04 21:08:24

回答

1

documentation

對於RubyGem,把你的發電機 類和模板在lib目錄 。對於Rails插件,在您的插件的根目錄 處生成一個 生成器目錄。

但是,這有點含糊。

從軌道::發電機::查找源:

  1. Rails應用程序。如果定義了RAILS_ROOT,我們知道我們在Rails應用程序的上下文中生成了 ,因此請搜索 RAILS_ROOT/generators。

  2. 查找範圍中的插件,無論是用於發電機/或rails_generators /每個插件

  3. 用戶主目錄中 目錄。搜索〜/ .rails /生成器。

  4. RubyGems。搜索名爲* _generator的寶石,並在任何RubyGem的 /rails_generators/_generator.rb文件中查找 生成器。

  5. Builtins。型號,控制器,郵件,腳手架等。

單個發電機寶石的結構應是這樣的:

  • my_scaffold_generator/
    • LIB/
    • my_scaffold_generator.rb
    • required_file.rb
    • 模板/
    • ...包含多個發電機

寶石的結構應是這樣的:

  • my_cool_generators/
    • rails_generators/
    • cool_scaffold/
    • cool_scaffold_generator。RB
    • 的lib/
      • required_file.rb
      • ...
    • 模板/
      • ...
    • cool_controller/
    • cool_controller_generator.rb
    • 的lib/
      • required_files.rb
      • ...
    • 模板/
      • ...