2010-08-03 22 views
2

我有一堆不同的控制器,都處理相同的基本模型。例如...組織一堆控制器,所有處理相同的模型

  • FoobarController
  • FoobarShareController
  • FoobarTakeController
  • FoobarToolsController
  • FoobarVerifyController

他們都做各種事情的foobar的模型,我有種想要一個更好的方式來組織它們以及其他與網站其他部分相關的事情,比如所有那些d沒有特別處理Foobar,只是像UserController,DashboardController,MainController一般的網站使用。

我的想法是將所有內容放入命名空間,這樣我就可以使用Foobar模塊和Site模塊。與此相關的問題是Foobar:FoobarController我的路徑將foobar_foobar_path和類似的網址看起來有點古怪。

這似乎不那麼理想,所以我想知道做這種組織的最好方法是什麼,而不是隻在一個目錄中,因此只有一個名稱空間。

回答

2

我認爲最簡單的解決方案就是在控制器下創建一個Foobar目錄,並將所有foobar的東西放入其中。儘管你可能需要重新修改一些路由/ ajax /等,但這是完全可行的,甚至是推薦的。

0

不知道有關您的各種Foobar相關控制器的詳細信息,將很難提供有關如何更好地組織它們的建議。但是,您可能想問自己:

  • 爲什麼您首先有多個控制器?
  • 爲什麼這些控制器不能以某種方式組合?有沒有很好的理由?
  • 共享基礎控制器/模塊可以簡化情況嗎?

一般來說,最好採取DRY方法。

重複的邏輯應合併到一個位置。

相關問題