セッション Cookie ストアを使用して、Rails 2.3.14 アプリと Rails 3.0.10 アプリの間でセッションを共有したいと考えています。
その設定方法を説明する優れたブログ投稿を見つけました: http://blog.kabisa.nl/2010/10/27/share-sessions-between-rails-2-and-rails-3-applications/
Rails2がセッションキーをシンボルとして保存し、Rails3を文字列として保存するという問題が発生するまで、すべて正常に機能します。また、これを修正するためのパッチが提供されています。
# lib/patches/cgi/session.rb
require 'cgi/session'
class CGI #:nodoc:
class Session #:nodoc:
def [](key)
@data ||= @dbman.restore
@data[key.to_s]
end
def []=(key, val)
@write_lock ||= true
@data ||= @dbman.restore
@data[key.to_s] = val
end
end
end
このブログは 2010 年のもので、このパッチは Rails2.3.14 アプリでは機能していないようです。また、CGI が本当に非推奨になったことも読んだので、このパッチがまだ問題を解決する正しい方法であるかどうか疑問に思います。
Rails2 と Rails3 の両方がセッション キーに同じデータ型を使用していることを確認する方法はありますか?