[問題] 想問一下在ruby下 用 session

看板Ruby作者 (mimi)時間17年前 (2007/10/14 20:26), 編輯推噓5(503)
留言8則, 4人參與, 最新討論串1/3 (看更多)
我有一個怪問題 目前我用 'cgi/session' 時 我的session記不住我所設定的值 譬如我在 /cgi-bin/login.rb #!/usr/bin/ruby1.8 require 'cgi' require 'cgi/session' require 'erb' cgi = CGI::new session = CGI::Session::new(cgi) session['username'] = 'Admin' template = File.read("/var/www/login1.rhtml") eruby = ERB.new(template) puts eruby.result(binding()) session.close login1.rhtml <html><body> <h1><%= session['username'] %></h1> <a href="display.rb">display</a> </body></html> 此時是可以看到 session['username']的值 但是我點連結過去後 /cgi-bin/display.rb #!/usr/bin/ruby1.8 require 'cgi' require 'cgi/session' require 'erb' cgi = CGI::new session = CGI::Session::new(cgi) name = session['username'] template = File.read("/var/www/display1.rhtml") eruby = ERB.new(template) puts eruby.result(binding()) session.close display1.rhtml <html><body> <h1>Nmae= <%= name %></h1> </body></html> 就會有 name=session['username'] 為nil 請問我再傳遞session 的時後 少打了什麼嗎? 我檢查過放 session 的地方~ 每取的一次頁面 他就會又生出新的 session暫存檔 所以我前一次設的值就不會被找到 請問我該怎麼讓他找到我正確的 session 值呢? -- ▁▁ ▕寧寧▏ ▕肥肥▏  ̄ ̄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.90.189

10/14 20:28, , 1F
不要new也不要close.直接用...session原本就內建了
10/14 20:28, 1F
※ 編輯: fuha 來自: 140.120.90.189 (10/14 20:55)

10/14 20:56, , 2F
請問用法是?? cgi.session ?? 希望可以多題點一下 謝謝~
10/14 20:56, 2F

10/14 22:49, , 3F
我不知道,但是亂猜的話,這也許跟 server cgi 設定有關
10/14 22:49, 3F

10/14 23:37, , 4F
session['username'] = @username
10/14 23:37, 4F

10/15 01:00, , 5F
p.s. 原 po 沒有用 rails 喔
10/15 01:00, 5F

10/15 01:06, , 6F
感謝~godfat的說明~我是沒有用rails
10/15 01:06, 6F
※ 編輯: fuha 來自: 220.131.223.223 (10/15 01:23) ※ 編輯: fuha 來自: 220.131.223.223 (10/15 01:24)

10/15 02:42, , 7F
沒用rails哦..rails是會把session存在tmp目錄裡啦
10/15 02:42, 7F

10/15 02:45, , 8F
所以你應該看一下文件是否有存檔session的相關說明
10/15 02:45, 8F
文章代碼(AID): #174Wi9Yh (Ruby)
文章代碼(AID): #174Wi9Yh (Ruby)