2011-10-01 12 views
9

私のRailsアプリケーションでは、コントローラが積み重なり始めています(> 30)。多数のコントローラを扱う "Railsの方法"とは何ですか?

これはJavaであろうか、私はずっと前にサブパッケージを作成し始めましたが、ここでは少し躊躇しています。 私はすでにUserAdminの名前空間を持っていますが、保守性を考慮して、より細かい名前空間構造を作成するのが良いかどうかはわかりません。

この場合、「Railsの方法」とは何ですか?

  • コントローラの構造は、それより多かれ少なかれですか?
  • コントローラをネームスペース/モジュールに寛大にバンドルする方が良いでしょうか?

ありがとうございます。

+0

大きな数字の意味が分かりませんか? –

+0

@Beerlington:36 and counting :)(更新された質問も) –

答えて

2

理想的な方法があるかどうかわかりませんが、私が扱うプロジェクトに固有のものです。私はそれをフォルダ構造の下にグループ化しました。当初は私のプロジェクト特有のものでしたが、私たちはコーチとマネージャーというコントローラーだけを扱う必要がありました。しかし、時間が経つにつれて、それらのサイズは膨らみ始め、広範なカテゴリの下にグループ化できるコントローラをそれ以上作成する必要がありませんでした。これは平坦な成長をもたらしました。

さらに時間がかかり、フォルダー内のグループ化を開始しました。たとえば、コーチというフォルダ内のすべての関連機能が表示され、コントローラー名がclass Coach::SchedulesController < ApplicationControllerのように始まりました。

このようにグループ化すると、機能テストの作成に役立ちます。あなたは、あなたの機能テストが狂った量の行を持つことを望んでいません。

しかし、いつものように、Railsは、スキニーコントローラと太ったモデルを持つことを提案しています。時々、それを追うのは簡単ではないかもしれませんが、これはあなたが困難を克服できるいくつかの方法です。

2

Railsでは、ネームスペースコントローラ(または、うーん、モデル)は望ましくありません。ええ、時にはそれは必要なのですが、それは簡単ですが、それは決して望ましいことではないと思います。

あなたのコントローラーがスキニーで、それぞれ1つのモデルを表している限り、フラットフォルダー内に100個のコントローラーもあります。それは、私が心配し始めるだろうモデルよりもはるかに多くのコントローラを持っているときです。

もちろんこれはすべてIMHOです。

関連する問題