セッションの遅延ロードの罠

これも rails バージョン 2.3.8 の話です。

セッションには遅延ロードの仕組みがありますが、SessionHash#has_key? などの一部のメンバの実装は、Hash#has_key? の実装と変わらないので、そのまま使うとちょっとまずいです。

適切に SessionHash#has_key? をオーバーライドするか、has_key? などのメンバを呼ぶ前には、必ずインデクサ等のメソッド呼び出しでロードさせてやるようにしましょう。

というかこれバグに近いと思うんですけどね。