Ruby - ActionController::Session::CookieStore::CookieOverflowエラー

セッションを使って、データを保存する時、
以下のエラーが表示されました。

Status: 500 Internal Server Error
ActionController::Session::CookieStore::CookieOverflow

原因:Railsのセッションに保存できるデータの長さは4KBしかないです。

保存するデータは4KBをオーバーした場合、CookieOverflowエラーが表示されてしまいます。

解決方法:

セッションデータをDBに保存します。

  • セッションデータを保存用テーブルを作成します。 以下のコマンドを実行します。
rake db:sessions:create
rake db:migrate
  • config/environment.rbで以下の行をコメントアウトします。
config.action_controller.session_store = :active_record_store
  • サーバーを再起動します。

これで、解決です。

2010年01月21日(木) Rails

Share on Twitter Share
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。
他にも英語中国語で書いてます、よろしければチェックしてみてください。