我如何阅读Sinatra的cookies?

时间:2014-03-20 16:14:56

标签: ruby cookies sinatra

我在运行Sinatra的Web应用程序中使用Cookie时遇到了很多麻烦。

我目前正在设置Cookie:

response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :expires => Time.now + 86400000)

其中域是Web应用程序的IP地址(暂时没有适当的域)。这正确地设置了cookie,因为我可以在我的网络浏览器的cookie中找到cookie并且值是正确的。

但是,我无法读取cookie。如果我写:

id = request.cookies[:id]

然后id变为空值。

是否有我遗漏的东西(例如我应该注意哪些设置)?我怎样才能让它发挥作用?

所有帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:2)

好的,我设法搞清楚了。我没有设置路径,因此它不适用于不同的URL。

我发现这解决了我的问题:

response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :path => "/", :expires => Time.now + 86400000)