こんにちは、高石です。

From: 金光雅夫 (KANEMITSU Masao) <masao-k / a-net.email.ne.jp>
Subject: [ruby-list:35978] Cookie

> クッキーのセッションには、配列を入れると文字列になってしまうの
> でしょうか???

Ruby 1.6に付属のsession.rbを見ると、

def []=(key, val)
  unless @write_lock
    @write_lock = true
  end
  unless @data
    @data = @dbman.restore
  end
  @data[key] = String(val)
end

となっていて、強制的に文字列に変換しています。

1.7に付属のsession.rbだと、

  @data[key] = val

となっていて、変換はしないようですが、
どちらにしても、defaultのデータベースクラス(FileStore)では、
name=value
という単純なテキスト形式で保存しているだけなので、結局文字列
になります。

適当な区切り文字でjoinしておいて、読み込んだらsplitして使う
というのではだめでしょうか。

あるいは、'database_manager'にArrayを保持できるデータベース
クラス(なければ自作)を指定するか。(1.7のsession.rbを使用)
/--------------------------------------------------------/
  高石 勇人 < rio-t / presen.to >
  PGP Key(RSA): http://rio-t.presen.to/pgp/mykey.asc
         (DSS): http://rio-t.presen.to/pgp/mykey-dss.asc
/--------------------------------------------------------/