在Rails控制器中获取具有特定路径的cookie

时间:2016-02-16 21:22:22

标签: ruby-on-rails cookies path controller

如何按名称和路径检索cookie值?

默认情况下,Rails会在根路径cookies[:name]

中抓取Cookie /

但是你怎么能在不同的路径上抓住一个cookie,比如说/path_name

有没有办法在Rails中执行此操作?

1 个答案:

答案 0 :(得分:0)

控制器可用的cookie取决于路径。 Cookie默认放在root中。但是你可以使用:path选项创建一个只显示在特定路径中的cookies [:name]条目,如下所示:

cookies[:name] = {
  value: 'hello world',
  path: '/foo'
}

如果您尝试在不同的路径中访问此Cookie,则不会存在。如果路径与cookie路径匹配,浏览器将仅在其请求中包含此cookie。

因此,由于Cookie的工作原理,您无法从不属于您自己的路径获取Cookie。那真是不安全。如果你在“/ foo”,那么你可以自动访问该cookie。