一般做一个项目的时候,会分为多个子模块。比如: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 的项目都不是很大,没必要提前优化