Ruby on rails 如何创建像stackoverflow这样的向上/向下投票系统?

Ruby on rails 如何创建像stackoverflow这样的向上/向下投票系统?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在Rails中创建一个站点,我想在Stackoverflow中添加一个向上/向下投票系统 有人能建议怎么做吗?我知道我会把每一张选票输入数据库,但我的意思是,如何对投票按钮进行编码?我要用什么,有人能帮我吗。Ajax不是必需的,但它会很好 我打算用一个POST命令做这样的事情 <form name="input" action="/grinders" method="POST"> <input type="hidden" name="id" value="<%=h g

我正在Rails中创建一个站点,我想在Stackoverflow中添加一个向上/向下投票系统

有人能建议怎么做吗?我知道我会把每一张选票输入数据库,但我的意思是,如何对投票按钮进行编码?我要用什么,有人能帮我吗。Ajax不是必需的,但它会很好

我打算用一个POST命令做这样的事情

<form name="input" action="/grinders" method="POST">
<input type="hidden" name="id" value="<%=h grinder.id %>">
<input type="hidden" name="vote" value="up">
<input type="submit" value="Vote" />
</form>


但是,我得到了一个Authentity token错误,我真的不知道如何使用form helper。

有一个
投票表,如下所示:

[PK] vote_id, vote_type (up/down), [FK] post_id, [FK] user_id, time [optional]
另外,在您的
posts
表中添加
score
字段

然后,您可以使用投票按钮访问类似以下链接:
/vote/post\u id/type/
,例如:
/vote/14098/up
。这可以在使用或不使用Ajax的情况下完成


当调用投票操作时,检查用户以前是否对该帖子进行过投票-如果是,则拒绝。如果没有,则在
投票
表中创建一行,并更新
帖子
表中的
得分
字段。

有一个
投票
表,如下所示:

[PK] vote_id, vote_type (up/down), [FK] post_id, [FK] user_id, time [optional]
另外,在您的
posts
表中添加
score
字段

然后,您可以使用投票按钮访问类似以下链接:
/vote/post\u id/type/
,例如:
/vote/14098/up
。这可以在使用或不使用Ajax的情况下完成


当调用投票操作时,检查用户以前是否对该帖子进行过投票-如果是,则拒绝。如果没有,请在
投票
表中创建一行,并更新
帖子
表中的
得分
字段。

我是这样想的,但是人们不能这样做吗?你说的“hack”是什么意思?用户是否直接输入URL并不重要。在将任何内容保存到数据库之前,您仍然应该验证是否允许用户进行投票。将最后一段放在事务块中,您就可以开始了。我在想类似的事情,但人们不能进行类似的黑客攻击吗?您所说的“黑客”是什么意思?用户是否直接输入URL并不重要。在将任何内容保存到数据库之前,您仍然应该验证是否允许用户投票。将最后一段打包到事务块中,就可以开始了。