【发布时间】:2013-07-31 12:46:39
【问题描述】:
我需要有关如何构建 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}
但是,现在当用户单击链接时,他们会以 GET 请求的形式进入 /createfund/ 页面,这不是我想要的,我想使用 POST 或其他方式。
谁能解释一下这里的正确解决方案是什么?我是否为搜索产生的每个人制作了一个表格,并为每个可能的人提供了一个提交按钮?这似乎很愚蠢。使用 Julius 并更改链接的 onclick 处理程序以提交 POST 而不是 GET 到 /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">
这将满足我的需求,但我真的很想让用户只需单击链接。这是糟糕的设计吗?还是只是口味问题?
【问题讨论】:
标签: yesod