And*_*res 3 ruby ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-4
在 PHP 世界中待了很长时间后,我才刚刚开始一个 Rails 项目。
该项目处于非常早期的阶段,这意味着这是进行重大更改的好时机,目前包含两个不同的 rails 模块,一个用于管理员,一个用于用户,都在单独的 rails 实例中。我想做的是将两个项目合并到一个 rails 实例中,我相信从长远来看,这将提高应用程序的可管理性。
两个实例共享同一个数据库,并且每个实例都有一个用于身份验证的设计模型。我一直在记录自己合并两个项目的方法,我想出了两种选择:第一种是创建两个命名空间,一个用于用户,另一个用于管理员,并共享模型和框架逻辑。第二个是为管理员和用户创建引擎,这似乎更干净但更复杂。
我已经阅读了很多文档并且我正在尝试使用 rails,但是在这一点上我需要一个更有经验的意见。
在此先感谢您,我感谢您对此的想法。
小智 7
命名空间和引擎各有利弊。使用哪一个取决于您的特定用例。在大多数情况下,我建议使用命名空间,因为它往往更容易并且省去了一些麻烦。特别是在共享数据模型时。但是,当您想在多个应用程序中共享共同的隔离行为时,引擎非常有用。
优点
缺点
Isolate related functionality好处的价值。优点
缺点