Ruby on rails 如何创建像stackoverflow这样的向上/向下投票系统?
我正在Rails中创建一个站点,我想在Stackoverflow中添加一个向上/向下投票系统 有人能建议怎么做吗?我知道我会把每一张选票输入数据库,但我的意思是,如何对投票按钮进行编码?我要用什么,有人能帮我吗。Ajax不是必需的,但它会很好 我打算用一个POST命令做这样的事情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
<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并不重要。在将任何内容保存到数据库之前,您仍然应该验证是否允许用户投票。将最后一段打包到事务块中,就可以开始了。