2015-03-30 120 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

相關問題