我需要關於如何構建YESOD應用程序的一般指導。我想盡可能將應用程序保持爲「RESTful」。需要用戶從列表中選擇連接YESOD的兩個用戶
用戶搜索所有其他用戶以找到要連接的用戶。我顯示了使用哈姆雷特可能的連接:
$forall (pid, person, mEmail, mPhone) <- displayPeopleRecs
<p>
<a [email protected]{CreateFundR pid}>#{personNickName person}
$maybe email <- mEmail
#{emailEmail email}
$maybe phone <- mPhone
#{phoneNumber phone}
不過,現在當他們去到/ createfund /頁的GET請求的鏈接用戶點擊這不是我想要的,我想用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">
這將符合我的需求,但我真的想讓用戶只需點擊鏈接。這是不好的設計?或者只是一個品味問題?
我不會擔心JavaScript禁用的人。 Javascript是HTML5的核心部分,只要遵循鏈接不會導致數據從數據庫中刪除(即不發送DELETE),那麼我不介意它們是否會遇到稍微差一點的經驗。我想我應該善待那些在阻止javascript的位置工作的人。嗯。感謝您的思考。 –
閱讀您鏈接到的帖子後,我將使用表單和樣式按鈕,而不是將所有內容看起來像鏈接。我讓UI設計師同意一個新標準。再次感謝。 –