我在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>
但是,我收到了真实性令牌错误,老实说我不知道如何使用表单助手。
答案 0 :(得分:5)
有一个votes
表,如下所示:
[PK] vote_id, vote_type (up/down), [FK] post_id, [FK] user_id, time [optional]
还在score
表
posts
字段
然后您可以让投票按钮访问类似:/vote/post_id/type/
的链接,例如:/vote/14098/up
。这可以使用或不使用Ajax来完成。
当调用投票操作时,检查用户之前是否已对该帖子投票 - 如果是,则拒绝该投票。如果没有,请在votes
表中创建包含相关值的行,并更新score
表中的posts
字段。