我刚刚在PHP世界中开始使用Rails项目。
这个项目还处于初期阶段,这意味着这是进行重大更改的好时机,目前包含两个不同的rails模块,一个用于管理员,另一个用于用户,两个都在单独的rails实例中。我想要做的是将两个项目合并到一个rails实例中,我相信从长远来看,它将提高应用程序的可管理性。
两个实例共享同一个数据库,每个实例都有一个用于身份验证的设计模型。我一直在记录合并两个项目的方法,我提出了两个选择:第一个是创建两个名称空间,一个用于用户,另一个用于管理员,并共享模型和框架逻辑。第二个是为管理员和用户创建引擎,这似乎更干净但更复杂。
我已阅读了很多文档,我正在尝试使用rails,但此时我需要更有经验的观点。
提前感谢您,感谢您对此的看法。
答案 0 :(得分:4)
名称空间和引擎都有利有弊。使用哪一个将归结为您的特定用例。在大多数情况下,我建议使用命名空间,因为它往往更容易,并节省一些令人头疼的问题。特别是在共享数据模型时。但是,当您想要在多个应用程序中共享常见的隔离行为时,引擎很棒。
赞成
缺点
Isolate related functionality
福利的一些价值。赞成
缺点