2011-10-01 48 views
9

在我的Rails應用程序中,控制器開始堆積(> 30)。處理大量控制器的「Rails方式」是什麼?

它會是Java嗎,我早就開始創建子包了,但我在這裏有點猶豫。 我已經有UserAdmin命名空間,但我不確定創建更精細的命名空間結構是否好,尤其是考慮到可維護性。

在這種情況下,「Rails方式」是什麼?

  • 只是有一個或多或少平坦的控制器結構?或者是更好地將控制器捆綁到名稱空間/模塊中?

在此先感謝。

+0

只是好奇你的意思是一個很大的數字? –

+0

@Beerlington:36並計數:)(更新了問題) –

回答

2

不知道是否有一個理想的方式,但具體到我處理的項目,我已經將它歸入文件夾結構下。最初,我的項目又是特定的,我們不得不與一些叫做教練和經理的控制員打交道。但隨着時間的推移,它們的規模開始膨脹,我們不得不創建更多的控制器,這些控制器可以歸入廣泛的範疇。這導致了平穩增長。

更多的時間過去了,我們開始將它分組到文件夾中,例如在一個名爲coach的文件夾中,教練的所有相關功能都會去,控制器名稱開始看起來像class Coach::SchedulesController < ApplicationController

這種分組方式也有助於編寫功能測試。你不想讓你的功能測試也有瘋狂的數量。

但是,Rails總是要求有一個瘦身控制器和一個胖模型。有時候,這可能並不是那麼容易,是的,這些是你可以克服困難的一些方法。

2

在Rails中,命名空間控制器(或者甚至是ugh模型)是不可取的。是的,有時這是必要的,或者只是簡單的,但我會說這是不可取的。

只要你的控制器很瘦,並代表每個模型1個,我甚至不會介意在一個平面文件夾中的100個控制器。當你擁有比我會開始擔心的模型更多的控制器時。

當然這是所有恕我直言。

相關問題