2011-11-09 5 views
3

私は最初の大規模プロジェクトに触媒を使用しましたが、触媒の使用方法が不思議に思えました。触媒コントローラの質問

私はRoot.pmを持っており、そのファイルの中に複数のURLハンドラを置いています。

URLごとに1つのコントローラを持つか、グループ化することを検討するのがベストプラクティスですか?

答えて

4

Catalystの美しさの1つは、その柔軟性です。しかし、これはあなたのアプリケーションに最も適しています。

サポートしているURLが一握りしかない場合は、Root.pmにそれらをすべて入れても本質的に間違っていることはありません。 localhost:3000/foo/bar/baz/quuxなどのより長いURLを使用し始めるとすぐに、bazとquuxは深さがない場合、つまりlocalhost:3000/fooとlocalhost:3000/barの場合

barの引数であれば、 'bar'というアクション(サブ)を含むFoo.pmを分離することができます。

there are waysでも、Railsスタイルのルーティングテーブルと同等の効果が得られますが、一般的には良い考えではありません。 routesテーブルを持たないは、他のフレームワークに比べてCatalystの本質的な特徴/利点です。

The Definitive Guide to Catalystの13-14ページでこれに関する良い議論があります。あなたがこの本を持っていないなら、あなたはすべきです。