Rails 项目分模块的问题

alleywind · 2014年08月05日 · 最后由 allenwei 回复于 2014年08月06日 · 2371 次阅读

一般做一个项目的时候,会分为多个子模块。比如:app 接口模块,网站模块,后台管理模块。 如果用 rails 完成一个项目,是怎么分模块的,都建在一个 rails 工程里面吗?还是分为三个或多个 rails 工程?

写在一起啊。要不数据什么的 还要拷一份 model 保证数据一直 (个人感觉。

一般写在一起吧,项目大了有需要再切分,预留到余地。早期切分应该就是过度优化了。

我通常是 api 用 grape,单独文件夹,然后就是所有模块公用 model,只在 controller 和 view 里面分,例如 admin/ 和 site/ 分别表示后台和网站。

namespace 是干嘛的?

如果项目不直接依赖,而且预期每个项目都比较大,那就单独放在不同的 project 如果项目互相依赖,最初可以像 @ddyy 说的按 namespace 分,把 controller,model 放在不同文件夹 后期如果项目越来越大再考虑分开

#3 楼 @flowerwrong 这样的话代码结构上清晰很多,部署的话还是在一起

#5 楼 @allenwei 放在不同的 project,如果 db 用的是一个库的话,是不是 migration 维护起来比较麻烦?

rails engine 很好用

#7 楼 @alleywind 如果用一个数据库说明互相是依赖的,先放在同一个项目里面吧,很多 Rails 的项目都不是很大,没必要提前优化

需要 登录 后方可回复, 如果你还没有账号请 注册新账号