2015-03-30 118 views
1

我有ror应用程序,我可以轮询。如何记住用户而无需注册?他不能多次投票给同一个答案。
我应该使用什么?我需要为用户创建一个新模型?也许使用一些宝石?ROR如何在没有注册的情况下记住用户?

+0

这是非常广泛的......但是,你可以开始用户会话和注册这个[RailsCast](http://railscasts.com/episodes/250-authentication-from-scratch?view=asciicast) – Cyzanfar 2015-03-30 19:33:57

回答

0

每个访问者的Rails网站会给出一个session,你可以存储一些状态,在那里,如:session[:seen] = true并在随后的请求中,可以检查该会话变量的存在。

See here for more尤其要注意的是,用户总是可以通过清除cookie来阻止这种努力(这就是为什么使用注册会更好)。

+0

只需使用数据库或服务器缓存而不是cookie保存会话即可。只要数据库使用具有相同IP的同一台计算机,数据库就会记住用户,只要它有足够的内存来存储所有用户,服务器缓存就会保持不变。当内存开始运行时,它会开始忘记用户,从那些最长时间没有访问过的用户开始。 – 2015-03-30 20:16:14

+0

忘了提及这2种其他方式是为了防止用户能够通过清除Cookies再次投票 – 2015-03-30 20:16:40

+0

我不确定你从哪里得到了你的信息@RodrigoCastro,但事实根本不是这样。将会话数据的存储切换到数据库或内存不会改变访问者的跟踪方式 - 通常使用cookie。 – smathy 2015-03-30 20:45:14

相关问题