Dex*_*Dex 29 cookies ruby-on-rails
我使用jQuery在我的表单中设置了一些cookie值.我可以通过该cookies方法在我的Rails控制器中读取它们.当我打电话时cookies.delete(:my_key),当我cookies再次打电话时,它们似乎已经消失了.但是当我重新加载页面时,cookie又回来了.
有没有办法从我的控制器内部删除好的cookie?
编辑
这很奇怪,因为我正在查看响应标头,它们似乎正在删除cookie.也许是因为它是302请求?
Set-Cookie: my_key=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
Run Code Online (Sandbox Code Playgroud)
Rub*_*ist 38
例如,您的cookie看起来像这样
cookies[:foo] = {:value => 'bar', :domain => '.text.com'}
Run Code Online (Sandbox Code Playgroud)
当你尝试这个=> cookies.delete :foo
日志会说=> Cookie set: foo=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
请注意,域名丢失了.试过这种方式
cookies.delete:foo,:domain =>'.text.com'
功能=>
# Removes the cookie on the client machine by setting the value to an empty string
# and setting its expiration date into the past. Like []=, you can pass in an options
# hash to delete cookies with extra data such as a +path+.
def delete(name, options = {})
options.stringify_keys!
set_cookie(options.merge("name" => name.to_s, "value" => "", "expires" => Time.at(0)))
end
Run Code Online (Sandbox Code Playgroud)
Obr*_*ios 14
根据rails api,现在有一个删除方法,所以如果你还没有设置域使用
cookies.delete :my_key
Run Code Online (Sandbox Code Playgroud)
如果你设置了域名
cookies.delete :my_key, domain: 'mydomain.com'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27912 次 |
| 最近记录: |