我正在使用 nosql 数据库在 Rails 3 中开发应用程序。我正在尝试添加类似于 twitter 或 github 的“关注”功能。
在标记方面,我已经确定有三种方法可以做到这一点。
1)使用常规锚。(Github 使用这种方法)
<a href="/users/follow?target=Joe">Follow</a>
2) 使用按钮。(推特使用这种方法)
<button href="/friendships/create/">Follow</button>
3) 使用带有提交按钮的表单。(对我来说有一些优势,但我还没有看到有人这样做。)
<form method="post" id="connection_new" class="connection_new" action="/users/follow">
<input type="hidden" value="60d7b563355243796dd8496e17d36329" name="target" id="target">
<input type="submit" value="Follow" name="commit" id="connection_submit">
</form>
由于我想将 user_id 而不是用户名存储在数据库中,因此选项 1 和 2 将强制我执行数据库查询以获取实际的 user_id,而选项 3 将允许我将 user_id 存储在隐藏的表单字段中,以便我不必进行任何数据库查找。我可以从表单提交的参数哈希中获取 id。
我已经成功地使这些方法中的每一种都起作用,但是我想知道最好的方法是什么。哪种方式更语义化、更安全、更适合蜘蛛等……?twitter 和 github 有没有理由不使用表单来做到这一点?
任何指导将不胜感激。从那时起,我就倾向于使用表单方法,我不必查询数据库来获取用户的 id,但我担心大家伙们为此使用锚点或按钮一定是有原因的。
我是一个新手,所以如果我完全错过了什么,请放轻松。谢谢!