我有我的自定义控制器,模型,一堆视图,帮助器和其他封装了特定数量的用户管理功能的东西,足以支持我的工作涉及的rails应用程序。
我想要的是创建某种扩展,以便能够迅速将所有自定义内容添加到新的Rails应用程序中。我对Ruby on Rails很新,但我知道有三种方法可以扩展Rails - 使用gems,生成插件或者Railtie。问题是 - 在我的情况下最好的方法是什么?
答案 0 :(得分:1)
Rails应用程序模板似乎是您的最佳选择。
创建一个将成为其他项目基础的rails项目,然后,当您创建新的rails应用程序时,
$ rails new myapp -m /path/to/your/template/project
这将自动用新应用程序的名称替换Rakefile和config.ru中的应用程序名称。铁路和其他东西也可以用于这个项目。
答案 1 :(得分:0)
使用gem,可以选择使用Railties挂钩到Rails。插件已弃用且will be removed in Rails 4.0
答案 2 :(得分:0)
在这种情况下更好的扩展是使用Rails Engine。您也可以基于此引擎创建gem,并插入其他rails应用程序。
基本上,Rails Engine允许您与其他应用程序共享功能子集。例如,博客引擎,https://github.com/radar/forem的论坛,https://github.com/plataformatec/devise的认证引擎或用户管理(在您的情况下)。
有关详情,请参阅文档或railscasts剧集。 http://railscasts.com/episodes/149-rails-engines