2013-07-01 16 views
6

私はHaskellとYesodから始めています。私の足を濡らすために、MVCで書いた小さなプロジェクトをハスケルに変換します。私の最初のステップは、すべての経路を定義することでした。Yesodにハンドラを追加する方法はありますか?

私はこのプロジェクトを実行するために8人のハンドラを持っています。マイルート・ファイルは、次のようになります。

/activity ActivityR GET 
/activity/#String ActivityItemR POST DELETE 

/dashboard/month MonthDashboardR GET 
/dashboard/year YearDashboardR GET 

/calendar CalendarR GET 

/events/calendar CalendarEventsR GET 
/events/report ReportEventsR GET 

/report ReportR GET 

私はこれらのルートを追加することで通過した流れは次のように行ってきました:

  1. ハンドラフォルダ内のファイルを作成します設定/ルートに
  2. をルートを追加します(私が作成しました
  3. 手順2で作成したハンドラへのインポートをApplication.hsに追加します。
  4. プロジェクトのキャバルファイルにハンドラファイル名を追加します。

私はImport Handler.*

ような何かを行うことができ、または複数の異なる経路を扱う少ないハンドラモジュールを有することが好ましい方法であるように、これらのハンドラをワイルドカードへのショートカット、または方法はありますか?

答えて

7

yesodコマンドラインツールでは、多くのことを自動化するコマンドadd-handlerが提供されています。

+0

ありがとう、私はそれを試してみます。 – taylonr

+1

明確にするには、引数なしで 'yesod add-handler'を実行する必要があります。それはより多くの情報のためにあなたを促すでしょう。引数を指定して呼び出すと、少し混乱する 'Usage:yesod add-handler'メッセージが表示されます。 – sjy

関連する問題