Rails2.3.2からCGI::Session.generate_unique_idが使えなくなっていた
Rails2.2.2で作ったアプリを2.3.5に移行しようとしたのですが
uninitialized constant CGI::Session
というエラーが出てしまいました。調べてみたところ、ユニークIDを生成するために使っていた
CGI::Session.generate_unique_id
が2.3.2以降なくなっていたためでした*1。
これはRuby1.9*2で標準装備された機能を利用するようにしたためで、
ActiveSupport::SecureRandom.hex
または環境がruby1.8.7または1.9以降の場合は直接
SecureRandom.hex
を代わりに呼んでやればいいようです。
修正の方向性としては正しいものだと思いますが、一応publicなメソッドであったからにはエイリアスくらい残しておいてほしかった気もします。まぁ、こんなマイナーな機能使ってた人も少ないでしょうが。