可重复使用的部分

时间:2012-01-29 12:53:09

标签: ruby-on-rails

我想创建一个短信付款引擎,并在多个应用程序中重复使用它。最好能够只复制/粘贴一个目录,可能配置一些小东西,让它工作(使用视图,控制器等)。

最好的方法是什么?当然,我不是在问这个短信的事情,而是关于创建一个孤立的应用程序的方法。它就像是主要应用程序中的帮助应用程序。

3 个答案:

答案 0 :(得分:2)

有三种方法可以构建Rails扩展:普通的ruby代码,Railties和Engines。

Railties和Engines允许您在初始化期间使用挂钩与Rails框架进行交互,从而扩展Rails。实际上,每个主要的Rails组件(ActiveRecord,ActionPack等)都是一个Railtie。

铁路和Rails引擎之间的主要区别在于引擎可以定义自己的配置,模型,控制器和视图。在某种程度上,引擎是一个Rails应用程序,您可以在另一个应用程序中部署。在你的情况下,我猜Rails引擎将是正确的选择。

无论您使用哪种选项,您都必须构建一个gem来分发您的扩展并在项目中共享它。

Here is a gist explaining both the Railtie and Engine concepts
A guide to starting your own rails engine.
Enginex, a command line tool which creates a Rails 3 Engine

答案 1 :(得分:0)

我想重用代码的最佳方法是将它们放到gem中,然后安装那个gem。

答案 2 :(得分:0)

我认为提取应用程序可重用部分的最佳方法是创建一个RubyGem。您可以找到有关创建RubyGems here的教程。还有一个Jeweler,一个非常好的工具来创建RubyGems。有关珠宝商的更多信息,您可以找到here