我知道如何使用CGI和Ruby讀取cookie,但問題是,如果我嘗試在不存在的情況下讀取cookies.value [0],它會中斷我的程序。所以我需要檢查cookie是否在那裏先閱讀。我無法在互聯網上的任何地方找到這個答案。如何使用Ruby編程語言檢測cookie是否存在?
請幫助,謝謝, 亨利。
我知道如何使用CGI和Ruby讀取cookie,但問題是,如果我嘗試在不存在的情況下讀取cookies.value [0],它會中斷我的程序。所以我需要檢查cookie是否在那裏先閱讀。我無法在互聯網上的任何地方找到這個答案。如何使用Ruby編程語言檢測cookie是否存在?
請幫助,謝謝, 亨利。
Ruby CGI doc的說:
HTTP Cookie是自動從請求解析。它們可以從cookies()訪問器獲得,該訪問器從cookie名稱返回一個哈希到CGI :: Cookie對象。
如果是這種情況,那麼cookies就存儲在一個常規的散列中。您可以使用常規Hash API檢查目標cookie的存在,包括Hash.key?():
if cgi.cookies().key?("mycookie")
p "Cookie value is #{cgi.cookies()["mycookie"].value}"
else
p "Cookie does not exist."
end
這工作我用苗條。
- if cookies().key?("cookieName")
p Cookie value is #{cookies()["cookieName"]}
- else
p "Cookie does not exist."
end
首先將導致true
如果cookie的存在。
是否可以向我展示一段代碼來檢查名爲「mycookie」的cookie是否存在?我知道在PHP中,你可以使用像if(isset [cookiename]) 感謝您的答案 – Henry 2010-01-06 23:48:11
我實際上正在寫一個,而你離開了那個評論:-) – 2010-01-06 23:50:58
供參考:我寫這個例子寫意;我沒有真的跑過它。它應該足夠接近讓你走,但要留意(輕微)錯誤。 – 2010-01-06 23:52:30