2014-01-29 203 views
3

我有一對夫婦的Rails項目,有一些共同的代碼庫的共享ActiveRecord的模型。常見的代碼由一些ActiveRecord的模型,並在此基礎之上的API的。目前我正在複製所有項目中的通用代碼,這是非常糟糕的做法。現在我想將通用代碼移至Ruby Gem。我是Ruby on Rails的新手。寶石tutorials我已經看過several但找不到任何東西,這將幫助我創建可重複使用的ActiveRecord模型寶石有用。如何通過紅寶石寶石

基本上我想要的是 -

  • 寶石包含了一些常見的活動記錄模式。
  • 寶石包含了一些代碼,它提供了對這些車型的API
  • 這種寶石將由幾個Rails的項目中使用,他們將初始化數據庫等

請讓我知道什麼是最好的做法,這樣的案件。

回答

2

我記得有我的電子商務項目同樣的問題,後來我把它移動到另一個倉庫。通過簡單地將整個重複代碼移動到軌道引擎。

有提供一些輔助的,你可以遵循:

  1. http://edgeguides.rubyonrails.org/engines.html

  2. http://coding.smashingmagazine.com/2011/06/23/a-guide-to-starting-your-own-rails-engine-gem/

  3. http://railscasts.com/episodes/277-mountable-engines

您可以創建一個生成器安裝您的模型的遷移文件。因此,無論何時將您的rails引擎安裝到任何rails應用程序並運行生成器。你會啓動並像剛纔幾個命令運行:rake db:migrate等。

那麼,我分享我的經驗。我不知道是否有其他更好的方法。

P.S:這裏是鏈接到發動機的倉庫,我創建 - https://github.com/suryart/spree_active_sale,也許代碼中有可以幫助大家作爲參考。