是否可以在通用名稱空間下創建整個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