2012-01-29 336 views
0

我想創建一個短信支付引擎,並在多個應用程序中重複使用它。最好能夠複製/粘貼一個目錄,也許配置一些小的東西,並使其工作(與視圖,控制器等)。應用程序的可重用部分

這樣做的最好方法是什麼?當然,我不是在問這個短信,而是關於如何創建一個獨立的應用程序。它就像主應用程序中的助手應用程序。

+0

你說的是[插件](http://guides.rubyonrails.org/plugins.html)? – yoavmatchulsky 2012-01-29 12:56:12

回答

2

有三種方式來構建Rails擴展:普通老紅寶石代碼,Railties和引擎。

Railties和Engines允許您在初始化過程中使用鉤子與Rails框架進行交互,因此可以擴展Rails。實際上,每個主要的Rails組件(ActiveRecord,ActionPack等)都是Railtie。

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

0

我想最好的重用代碼的方法是把它們放到gem中,然後安裝那個gem。

0

我認爲提取應用程序的可重用部分的最好方法是創建一個RubyGem。你可以找到關於創建RubyGems here的教程。有一個Jeweler,一個非常好的工具來創建RubyGems。更多關於珠寶商,你可以找到here