Snap 0.9 (および、おそらく他のバージョン) でのルーティングの奇妙さを理解できません。
ハンドラー内にifTop関数を入れない限り、「/」はすべてをキャッチするパターンだと理解していますよね?したがって、("/", blah) ルートでは、URL は blah ハンドラーによって処理される必要がありますね。
snap init によって生成されたデフォルトのアプリで遊んでいると、ルート リクエストの index.tpl 以外のものをレンダリングするための snap を取得できません。
指定されたルート (「/」、何とか) とハンドラー
blah :: Handler App App ()
blah = render "blah"
ルート URL 以外の任意の URL の何とかテンプレートをレンダリングします! したがって、「/anything」は何とかテンプレートをレンダリングしますが、「/」はインデックス テンプレートをレンダリングします。
何とかハンドラーをに変更する
blah = ifTop $ render "blah"
動作をまったく変更しません。この場合のみ、「/anything」にルーティングできません。「/」へのルーティングは引き続きインデックス テンプレートをレンダリングします。私は何が欠けていますか?選択したテンプレートをレンダリングするために「/」を取得するにはどうすればよいですか?