2011-08-01 8 views
3

私のapplication_helper.rbがかなり大きくなっています。私の防衛では、HTML生成メソッドしか含まれておらず、これらのメソッドのどれもがビジネスロジックを実行するものはありません。どのメソッドもどのページやコントローラにも固有ではなく、ほとんどの場合、互いに無関係です。ヘルプ!私のapplication_helper.rbが扱いにくくなっています

この問題の典型的な解決方法は何ですか?それを吸う?追加の*_helper.rbファイルを作成してapplication_helperのメソッドの一部を吸収しますか?

答えて

5

通常、コントローラ(コントローラごとに1つのヘルパー、そのコントローラのテンプレートでのみ使用されるヘルパーメソッドを配置していました)と、自分の組織に基づいてヘルパーを作成することができます。

ポーリングに関連するメソッドがたくさんある場合は、PollsControllerというコントローラがない場合でも、PollsHelperを作成してそこにすべてのメソッドを配置できます。また、Railsは常にすべてのヘルパーを読み込んであなたのビューにそれらを含めるので、好きなように名前を付けることができます(ヘルパーフォルダ内にあり、_helperで終わる限り)。

3

通常、タイプごとに整理します。 button_and_link_helpers、conditional_helpersなどです。私はモジュールとしてそれらを作成し、それらを必要とするコントローラに含めます。 これは、すべてのビューに対して未使用の関数のロードをロードしないという利点があります。

関連する問題