From: yuichi TAKAHASHI Date: 2001-01-08T02:37:19+09:00 Subject: [ruby-list:27049] Re: cgi/session.rb を eruby で使用するには たかはしです。 こんにちは。 On Sat, Jan 06, 2001 at 05:37:52PM +0900, Kazuhiro NISHIYAMA wrote: > On Wed, 27 Dec 2000 21:10:48 +0900 > yuichi TAKAHASHI wrote: > > eruby と cgi/session.rb を使ってセッション管理をしたいのですが、 > > rhtml ファイルの中で CGI::Session.new() しても、 > > cookie の path= に SCRIPT_PATH のディレクトリ名を使用しているので、 > > つぎの rhtml ファイルに繋がらず、ちょっと使いにくいです。 > > ( SCRIPT_PATH が /cgi-bin/eruby になっているから ) > > > > cgi/session.rb をこんな感じに修正するとうまく行きそうなのですが、 > > どうでしょうか? > > 普通のcgiに.cgi/dummy/path?query=infoって感じでPATH_INFOを > 使ってるときに問題がでませんか? なるほど、そうですね。 それでは、 --- session.rb.orig Mon Jan 8 02:09:46 2001 +++ session.rb Mon Jan 8 02:11:53 2001 @@ -54,7 +54,9 @@ @output_cookies = [ Cookie::new("name" => session_key, "value" => id, - "path" => if ENV["SCRIPT_NAME"] then + "path" => if option['session_path'] then + option['session_path'] + elsif ENV["SCRIPT_NAME"] then File::dirname(ENV["SCRIPT_NAME"]) else "" として、CGI::Session::new の option に 'session_path'=>File::dirname(ENV["PATH_INFO"]) を 入れるのはどうでしょうか。 パスを自由に設定できるので、前のより少し嬉しいです。