2

Devise をカスタマイズしてセッションにより多くの情報を保存する方法と同じ質問があり ますか?

ヘルパーを使用current_userして考案すると、どちらもSQLクエリがデータベースにヒットします。user_signed_in?データベースにアクセスせずにセッションでこれらの情報を取得するより良い方法はありますか?

ユーザー ログイン フェーズの後で、自分でセッションを割り当てる必要がありますか?

4

2 に答える 2

2

場合によって:idは、ユーザーの

def current_user_id
  session[:user_id] = session[:user_id] || current_user.id
end
于 2012-12-12T09:48:27.503 に答える
2

データベースにヒットさせたくない場合は、セッションを保存するためにデータベースを使用しないでください。代わりに、セッションをメモリに保存します。これには、Dalli gemを使用した memcachedやredis-store gemを使用した redisなど、いくつかのオプションがあります。これらは唯一の gem オプションではありませんが、人気のあるオプションです。他に何があるかを調べて、自分に合ったものを見つけることをお勧めします.

于 2012-05-16T12:51:55.910 に答える