ruby-on-rails – 如何通过Ruby Gem共享activerecord模型

我有几个Rails项目有一些共同的代码库.公共代码由一些ActiveRecord模型和一个api组成.目前我正在复制所有项目中的公共代码,这是一种非常糟糕的做法.现在我想将公共代码移动到 Ruby Gem.我是 Ruby on Rails的新手.我看过 several Gem tutorials,但找不到任何有用的东西可以帮助我用可重复使用的ActiveRecord模型创建一个宝石.

基本上我想要的是 –

> Gem包含一些常见的活动记录模型.
> Gem包含一些在这些模型上提供api的代码
>这个gem将被几个Rails项目使用,它们将初始化数据库等.

请告诉我这种情况的最佳做法是什么.

解决方法

我记得我的电子商务项目遇到了同样的问题,后来我把它移到了单独的存储库中.只需将整个重复代码移动到rails引擎即可.

您可以使用以下几种指南:

> http://edgeguides.rubyonrails.org/engines.html
> http://coding.smashingmagazine.com/2011/06/23/a-guide-to-starting-your-own-rails-engine-gem/
> http://railscasts.com/episodes/277-mountable-engines

您可以创建生成器来安装模型的迁移文件.因此,每当您将rails引擎安装到任何rails应用程序并运行生成器时.只需几个命令即可启动并运行:rake db:migrate等.

嗯,我分享的是我的经历.我不知道是否还有其他更好的方法.

P.S.:这是我创建的引擎存储库的链接https://github.com/suryart/spree_active_sale,也许代码可以帮助您作为参考.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...