我知道如何使用CGI和Ruby读取cookie,但问题是,如果我尝试读取cookies.value [0],当它不存在时,它会破坏我的程序。所以我需要检查cookie是否在那里首先阅读。我无法在互联网上找到这个答案。
请帮助,谢谢, 亨利。
答案 0 :(得分:1)
自动从请求中解析HTTP Cookie。它们可以从cookies()访问器获得,它从cookie名称返回一个哈希值到CGI :: Cookie对象。
如果是这种情况,那么cookie只是存储在常规哈希中。您可以使用常规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
答案 1 :(得分:0)
这对我来说很有用。
- if cookies().key?("cookieName")
p Cookie value is #{cookies()["cookieName"]}
- else
p "Cookie does not exist."
end
如果存在cookie,首先会导致true
。