如何通过Ruby Gem共享activerecord模型
我有几个Rails项目,它们有一些共同的代码库。 公共代码由一些ActiveRecord模型和一个api组成。 目前我正在复制所有项目中的公共代码,这是一种非常糟糕的做法。 现在我想将公共代码移动到Ruby Gem。 我是Ruby on Rails的新手。 我已经看过几个 Gem 教程,但找不到任何有用的东西,可以帮助我创建一个带有可重用ActiveRecord模型的gem。
基本上我想要的是 –
- Gem包含一些常见的活动记录模型。
- Gem包含一些在这些模型上提供api的代码
- 这个gem将被几个Rails项目使用,它们将初始化数据库等。
请告诉我这种情况的最佳做法是什么。
我记得我的电子商务项目遇到了同样的问题,后来我把它移到了单独的存储库中。 只需将整个重复代码移动到rails引擎即可。
您可以使用以下几种指南:
您可以创建生成器来安装模型的迁移文件。 因此,每当您将rails引擎安装到任何rails应用程序并运行生成器时。 你只需要几个命令即可启动和运行: rake db:migrate
等。
嗯,我分享的是我的经历。 我不知道是否还有其他更好的办法。
PS:这是我创建的引擎存储库的链接 – https://github.com/suryart/spree_active_sale ,也许代码可以帮助您作为参考。
- 通过深入了解关系来获得数量
- 检索AR模型的所有关联属性?
- 优雅的PostgreSQL Group for Ruby on Rails / ActiveRecord
- ActiveRecord :: StatementInvalid:ArgumentError:负字符串大小(或大小太大):SELECT * FROM
- 如何计算ActiveRecord .group查询的结果? 链接.count返回一个哈希值
- Rails has_many自定义ActiveRecord关联
- 特别是一对多的关系
- 为什么我的文本框在表单中显示ActiveRecord_Associations_CollectionProxy
- 使ActiveRecord / Rails使用实际的mysql TIMESTAMP列