2011-10-01 26 views
9

在我的Rails应用程序中,控制器开始堆积(> 30)。处理大量控制器的“Rails方式”是什么?

它会是Java吗,我早就开始创建子包了,但我在这里有点犹豫。 我已经有UserAdmin命名空间,但我不确定创建更精细的命名空间结构是否好,尤其是考虑到可维护性。

在这种情况下,“Rails方式”是什么?

  • 只是有一个或多或少平坦的控制器结构?或者是更好地将控制器捆绑到名称空间/模块中?

在此先感谢。

+0

只是好奇你的意思是一个很大的数字? –

+0

@Beerlington:36并计数:)(更新了问题) –

回答

2

不知道是否有一个理想的方式,但具体到我处理的项目,我已经将它归入文件夹结构下。最初,我的项目又是特定的,我们不得不与一些叫做教练和经理的控制员打交道。但随着时间的推移,它们的规模开始膨胀,我们不得不创建更多的控制器,这些控制器可以归入广泛的范畴。这导致了平稳增长。

更多的时间过去了,我们开始将它分组到文件夹中,例如在一个名为coach的文件夹中,教练的所有相关功能都会去,控制器名称开始看起来像class Coach::SchedulesController < ApplicationController

这种分组方式也有助于编写功能测试。你不想让你的功能测试也有疯狂的数量。

但是,Rails总是要求有一个瘦身控制器和一个胖模型。有时候,这可能并不是那么容易,是的,这些是你可以克服困难的一些方法。

2

在Rails中,命名空间控制器(或者甚至是ugh模型)是不可取的。是的,有时这是必要的,或者只是简单的,但我会说这是不可取的。

只要你的控制器很瘦,并代表每个模型1个,我甚至不会介意在一个平面文件夹中的100个控制器。当你拥有比我会开始担心的模型更多的控制器时。

当然这是所有恕我直言。

相关问题