我正在开展一个项目,该项目涉及聚合来自各种来源的数据,以便用户可以从单个前端界面搜索和挖掘它。该项目非常干净地分为两个组件:
- cron 触发的(Whenever gem)代码从各种来源提取数据并填充数据库。
- 消费数据并将其呈现给用户的前端代码。
我想将代码库拆分为具有共享模型的单独项目,以鼓励清晰地分离关注点,但不确定如何在 Rails 3 中最好地实现这一点。
我看到了这个关于在 SVN 或 Git 中使用共享文件夹/子模块的问题,但这对我来说似乎不是很干净: 在两个 Rails 项目之间共享模型 - 使用 git 子模块?
我来自 Java/MVN 背景,如果您只创建 3 个模块(一个共享模块,两个依赖它),然后就收工了。然后使用 Maven,您可以在父项目上调用构建,它会自动更新每个依赖项目中的共享代码 JAR。
使用 Rails 引擎、Rake 和 RubyGems 可以实现同样的目标吗?还是有更好的“导轨方式”来做到这一点?
谢谢,
-詹姆士