扩展Rails 3.2的最佳方法

时间:2012-05-29 05:45:48

标签: ruby-on-rails ruby gem ruby-c-extension

我有我的自定义控制器,模型,一堆视图,帮助器和其他封装了特定数量的用户管理功能的东西,足以支持我的工作涉及的rails应用程序。

我想要的是创建某种扩展,以便能够迅速将所有自定义内容添加到新的Rails应用程序中。我对Ruby on Rails很新,但我知道有三种方法可以扩展Rails - 使用gems,生成插件或者Railtie。问题是 - 在我的情况下最好的方法是什么?

3 个答案:

答案 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