作者fuha (mimi)
看板Ruby
标题[问题] 想问一下在ruby下 用 session
时间Sun Oct 14 20:26:47 2007
我有一个怪问题
目前我用 '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
1F:推 shelary:不要new也不要close.直接用...session原本就内建了 10/14 20:28
※ 编辑: fuha 来自: 140.120.90.189 (10/14 20:55)
2F:→ fuha:请问用法是?? cgi.session ?? 希望可以多题点一下 谢谢~ 10/14 20:56
3F:推 godfat:我不知道,但是乱猜的话,这也许跟 server cgi 设定有关 10/14 22:49
4F:推 dream1129:session['username'] = @username 10/14 23:37
5F:→ godfat:p.s. 原 po 没有用 rails 喔 10/15 01:00
6F:推 fuha:感谢~godfat的说明~我是没有用rails 10/15 01:06
※ 编辑: fuha 来自: 220.131.223.223 (10/15 01:23)
※ 编辑: fuha 来自: 220.131.223.223 (10/15 01:24)
7F:推 shelary:没用rails哦..rails是会把session存在tmp目录里啦 10/15 02:42
8F:→ shelary:所以你应该看一下文件是否有存档session的相关说明 10/15 02:45