4

active_record_storeを使用して、ユーザーのセッションに関連する情報を保存し、それがどれほど簡単かを確認するだけでなく、それを理解するのに時間がかかりません。Rails3/Sessions/Active_Record_Store/Signout - >セッションテーブルのCookieとレコードを削除するにはどうすればよいですか?

私は最近、ユーザーが自分のサイトからログアウトすると、Sessionsテーブルの何も削除されないので、かなり大きなSessionsテーブルを非常に蓄積しています。

私がしたいことは次のとおりです。ユーザがサインアウトしてユーザのコンピュータ上のクッキーを削除すると、セッションテーブルのレコードが削除されます。これを達成するためにサインアウトルーチンに何を追加する必要がありますか?

現在のところ、私がやっていることは、明らかに十分ではないセッションデータからユーザーIDを消去することです。 ActiveRecordオブジェクトのdestroy()メソッドを呼び出すだけでセッションからレコードを削除できたと思いましたが、セッションIDは持っていません。 (たぶん私はそれを取得する方法がわからない?)

答えて

2

私はレールの新入生だけど、私はあなたがこれを試してみてくださいお勧め:

rake db:sessions:clear 
+0

ログアウト時にユーザのセッションではなくすべてのセッションをクリアします! – TomDunning

-1
session[:user_id] = nil 
session[:username]= nil 
flash[:notice]= "You have been Logged out" 
redirect_to(:action => "login") 
+0

これはセッションテーブルからエントリを削除しません –

0

これはトップの答えであるからこそ"レールactive_record_storeクリアテーブル"を検索する際に、グーグルで、セッションテーブルをクリアする方法の答えはここにあります:https://stackoverflow.com/a/10088725/1474934

関連する問題