1

我有我的自定义控制器、模型、一堆视图、助手和其他东西,它们封装了足够用于我工作涉及的 Rails 应用程序的特定数量的用户管理功能。

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

4

3 回答 3

1

Rails 应用程序模板似乎是适合您的方式。

只需创建一个 Rails 项目,它将作为您其他项目的基础,然后,当您创建一个新的 Rails 应用程序时,

$ rails new myapp -m /path/to/your/template/project

这将自动将您的 Rakefile 和 config.ru 中的应用程序名称替换为新应用程序的名称。Railties 和其他东西也可以进入这个项目。

于 2012-05-29T05:56:46.400 回答
0

使用 gem,它可以选择使用Railties连接到 Rails。插件已弃用,将在 Rails 4.0 中删除

于 2012-05-29T05:52:51.877 回答
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

于 2012-05-29T05:54:08.740 回答