我想确保每个表项只能点击一次拇指向上或向下一次吗?
我的访问者未登录,因此我的假设是,我可以检查您的IP,并使用JSON将信息发送到数据库以记录IP地址和该表条目的ID。然后,如果用户再次单击竖起大拇指,请使用JSON执行快速SQL存在以确定是否存在IP和文本ID。如果没有,则点击竖起大拇指。
看起来这是一个繁琐且不优雅的解决方案,速度很慢,占用了大量的数据库空间。有任何改进的想法/帮助吗?
使用ruby 1.9.2,rails 3.1,jquery。
答案 0 :(得分:0)
我对这种功能的实现与你的非常相似:
正如Michael指出的那样,在某些情况下,仅限IP的方法还不够好。也许您可以通过添加其他特定于浏览器的变量来重新强制系统,但这取决于您需要的安全程度(因为用户可以使用两个不同的浏览器进行两次投票)。您可以找到有关此here的更多信息。
我希望这对你有用。
答案 1 :(得分:0)
使用IP地址作为用户标识符对于NAT路由器(例如任何办公室或商业组织)后面的任何用户都会有问题,因为这些用户都将被识别为同一用户。
在这种情况下,客户端上的cookie可能会更准确,但由于用户可以清除cookie或完全禁用cookie,因此也不是100%可靠。
这是一个设计问题而不是技术问题;存在跟踪用户状态而不用任何方式识别用户的基本问题。但如果您希望为用户提供便利,而不必强行登录,那么这是一种妥协。