是否可以在通用名称空间下创建整个rails应用程序?我可以在新的rails应用程序中使用通用名称空间吗?
让我们假设我的公司名称是Acme公司,并且我有以下Rails项目:Blog,Store,WebService。
默认情况下,如果我这样做rails new blog
生成的应用程序将是这样的:
module Blog
class Application < Rails::Application
module Store
class Application < Rails::Application
module WebService
class Application < Rails::Application
,每一个项目/应用程序是自包含的,不存在对公司没有隐式引用。我非常希望有公司命名空间下这一切的应用程序,所以我们可以把它们称为:
AcmeInc::Blog::Application
AcmeInc::Blog::Entities::Article
AcmeInc::Store::Application
AcmeInc::Store::Entities::Product
AcmeInc::Store::Entities::Order
AcmeInc::Store::Entities::Customer
etc...
这可能吗?推荐的?
使用: 红宝石2.0.0-P451,轨道3.2.17
做轨道新极致/博客后的建议更新
快照生成的文件和项目结构:
那么如何调用该类的方法以及在哪里包含该模块呢? –
这3个应用程序应该是相互独立的。类方法和模块应该以默认应用程序调用的相同方式调用。包括AcmeInc只是将所有这些应用程序按照公司的代码库标识符进行分组。这是.net世界中很常见的过程,但我不确定ruby/rails应用程序是否应遵循相同的模式,因此我的问题。 – qbantek
该分组的用途是什么?如果你试图让自包含的应用程序共享一些元素并进行交互,你可能需要看看[Rails引擎](http://guides.rubyonrails.org/engines.html)。如果你的担心只是为了美化目的的命名空间,我认为你可能在那里打击一些约定。 – tirdadc