首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rails进行模块化开发

使用rails进行模块化开发
EN

Stack Overflow用户
提问于 2013-05-30 09:53:15
回答 2查看 1.2K关注 0票数 3

我正在开发一个多服务器web应用程序,我想知道ruby/rails中关于模块化的最佳实践是什么。

基本上,我正在寻找从rails应用程序到后台worker应用程序共享ActiveRecord模型的最佳方式(2个不同的heroku实例)。

1)为rails应用程序和后台工作程序共享相同的代码。我们现在有一个大的应用程序,它可以做所有的事情。(优点:它解决了代码共享问题,缺点:它使应用程序臃肿)

2)将ActiveRecord模型捆绑在一个gem中,并在两个应用程序中都需要它(优点:最好的模块化,缺点:启动开发不容易)

3)在两个代码库中复制活动记录模型(缺点:代码重复,在更新数据库时会导致错误)

现在,我来自.Net背景。通常我会将我的模型放在dll中,这样就可以解决共享代码的问题,但我不太确定这里的"ruby方式“是什么。

有没有我应该在ruby方式上寻找架构最佳实践的地方?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 11:51:28

选项1.它可能会让人觉得臃肿,但Rails在保持干燥的情况下效果最好。你可能会惊讶地发现,它并没有像你想象的那样臃肿。

分离到gem是可行的,但应该仅限于框架或实用程序代码。如果您想让Rails (和您自己)满意,就应该将业务逻辑保留在应用程序中。

票数 3
EN

Stack Overflow用户

发布于 2013-05-30 12:47:20

您可以将共享模型放入Rails Engine中,并将其打包为gem。Rails引擎就像Rails应用程序的一个小型子集,可以在其他Rails应用程序中重用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16826726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档