Re: [問題] 如何控制Session的值 (已解決,感謝協助)
先謝謝您的回答。
我想再請教版上前輩們一個問題。
我現在在測試session的功能,請問有沒有人知道session又要怎麼做才能儲存新的數值?
我目前寫的code如下:
初始:
require 'cgi'
require 'cgi/session'
cgi = CGI.new
session = CGI::Session.new(cgi, "prefix"=>"rhtml_")
session['win'] = (session['win']).to_i #紀錄勝場數
session['lose'] = (session['lose']||0).to_i #敗場數
session['even'] = (session['even']||0).to_i #平手數
print cgi.header({"charset" => "utf-8"})
需要更新的情況:
when str_result[0]
session['even']=session['even'].to_i+1
when str_result[1]
session['win']=session['win'].to_i+1
when str_result[2]
session['lose']=session['lose'].to_i+1
之後用<%= session['win']%>來顯示勝敗(我現在用的是erb,所以是rhtml檔)
但無論如何就是紀錄不起來,可是範例也沒有用到cgi.header之類的,
請問我應該要怎麼做比較好呢..
※ 引述《danny8376 (釣到一隻猴子@_@)》之銘言:
: ※ 引述《davidwu0123 (戰乙女)》之銘言:
: : 吃光光了 (X
: 寫CGI的一個重點 => 他什麼都不幫你 全都要自己來
: 所以當你改了"Cookie"後
: 其實只做到把Server上(Ruby裡)的那個Cookie物件改了
: 而如果要"通知"客戶端這個Cookie有更動(需要更動)
: 則必須要在HTTP Response裡多加Set-Cookie的Header
: 而這就是cgi.header(... , "cookie" => ...)這段的功用
: 所以如果沒這段就不會送出任何"需要修改Cookie"的相關資訊
: 就會變成只是Server端自己爽而已
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 133.51.83.90
推
11/05 02:09, , 1F
11/05 02:09, 1F
→
11/05 12:30, , 2F
11/05 12:30, 2F
感謝你,在最後面加了session.update就可以了。
不過我看到你這句語法的第一個反應是到處找真的有哪個範例用到這句語法嗎?
不知道是不是我看document的方式有誤(我的本科跟寫程式無關),
也就是其實我不是很會利用document來解決問題,
所以雖然知道我這邊缺了一句"session.update",
在網路找上了半天都沒有看見"session.update"這一句該怎麼寫才正確。
現在試出來才確定document裡面的確有寫:
http://ruby-doc.org/stdlib-1.9.2/libdoc/cgi/rdoc/CGI/Session.html
只不過document裡面method的表現方式是#update,
我完全無法理解加"#"的意思是什麼所以不知道該怎麼試。
結果剛才其實是用"session.update" ruby去搜尋範例才找到實際使用的例子:
http://ppt.cc/STYY
總而言之真是太感謝你了,基礎知識不夠老是卡在很小的點上面。
謝謝。
※ 編輯: davidwu0123 來自: 133.51.83.90 (11/05 16:38)
※ 編輯: davidwu0123 來自: 133.51.83.90 (11/05 16:41)
※ 編輯: davidwu0123 來自: 133.51.83.90 (11/05 16:42)
推
11/15 19:48, , 3F
11/15 19:48, 3F
→
11/15 19:48, , 4F
11/15 19:48, 4F
→
11/16 21:19, , 5F
11/16 21:19, 5F
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章
-1
12