1

我正在使用 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,但我担心大家伙们为此使用锚点或按钮一定是有原因的。

我是一个新手,所以如果我完全错过了什么,请放轻松。谢谢!

4

1 回答 1

1

这真的只是基于个人喜好。简单的锚标签很好很容易,显示出清晰的意图,并且简洁明了。您可以使用 Javascript 创建一个 AJAX 发布请求,以使这一切快速发生。数据库操作应该没有问题。即使它最终会太慢(尽管我对此表示怀疑),我会说您可能会进行过早的优化。

于 2010-05-07T03:45:31.957 回答