【问题标题】:How to share activerecord models via Ruby Gem如何通过 Ruby Gem 共享 activerecord 模型
【发布时间】:2014-02-21 16:04:01
【问题描述】:

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

基本上我想要的是-

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

请让我知道这种情况的最佳做法是什么。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord rubygems


    【解决方案1】:

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

    您可以参考以下指南:

    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,也许那里的代码可以帮助您作为参考。

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多