我正在开始一个大型的Rails项目,它将由几个独立的区域组成,包括管理区、前端网站、用户区和api。
例如,为这些部分创建3个名称空间(将前端网站留作根)是否明智?
关于命名空间似乎没有一个通用的规则,而且它似乎是组织目的的正确选择,因为每个区域都需要几个控制器。
在我以前的Rails项目中,我总是命名为admin,但在这种情况下,从长远来看,拥有多个命名空间(对于路由/与其他命名空间交互)有什么缺点吗?
任何建议都将不胜感激!
发布于 2011-03-25 01:11:05
如果你的项目真的由逻辑上独立的区域组成,那么我看不出有什么坏处。任何路由情况都可以以最小的努力实现,因此这不会破坏交易。
我认为你必须记住的一点是,你的项目将有一个额外的目录嵌套级别。例如,您不能只查看views目录就能很好地了解所有视图,因为它们都位于与其名称空间对应的目录中(test也是如此)。然而,这通常是人们所希望的,因为它有助于保持事情更有条理。
发布于 2011-03-25 01:14:24
没有缺点,只有在名称空间有意义的情况下才有好处。显然,拥有太多的名称空间可能会令人困惑,而且毫无意义,但是拆分admin/client/public是使用名称空间的一个非常常见的用例。
只需确保为所有控制器提供唯一的名称,这样就不会遇到这个人在命名空间中遇到的问题:http://blog.philburrows.com/articles/2008/05/02/rails-namespaces-rock-rails-namespaces-suck-/
发布于 2011-04-02 14:25:37
检出http://www.ror-e.com和github应用程序https://github.com/drhenner/ror_ecommerce,它有几个命名空间,大多数命名空间都有自己的base_controller。
https://stackoverflow.com/questions/5422654
复制相似问题