YESOD アプリの構成方法に関する一般的なガイダンスが必要です。アプリをできるだけ「RESTful」なデザインに保ちたいと思います。
ユーザーは他のすべてのユーザーを検索して、接続するユーザーを見つけます。Hamlet を使用して可能な接続を示します。
$forall (pid, person, mEmail, mPhone) <- displayPeopleRecs
<p>
<a href=@{CreateFundR pid}>#{personNickName person}
$maybe email <- mEmail
#{emailEmail email}
$maybe phone <- mPhone
#{phoneNumber phone}
ただし、ユーザーがリンクをクリックすると、/createfund/ ページに移動しますが、これは私が望んでいるものではないため、POST などを使用したいと考えています。
ここで正しい解決策を説明できる人はいますか? 検索で生成されたフォームを各人に作成し、可能な人ごとに送信ボタンを用意しますか? それはばかげているようです。Julius を使用し、リンクの onclick ハンドラーを変更して、GET の代わりに POST を /createfund に送信する方がよいでしょうか?
私の設定/ルートからの関連行は次のとおりです。
/createfund/#PersonId CreateFundR POST
ところで、フォームと送信ボタンを使用してこれを機能させる方法を確認できます。
$forall (pid, person, mEmail, mPhone) <- displayPeopleRecs
<p>
<form method="post" action="@{CreateFundR pid}">
<table>
<tr>
<td>
#{personNickName person}
$maybe email <- mEmail
<br>
#{emailEmail email}
$maybe phone <- mPhone
<br>
#{phoneNumber phone}
<td>
<input type="submit" value="Create Fund">
それは私のニーズには合っていますが、ユーザーがリンクをクリックするだけで済むようにしたいと思っています。これはデザインが悪いのでしょうか?それとも単に好みの問題ですか?