2014-01-29 200 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,也许代码中有可以帮助大家作为参考。