ruby-on-rails – 如何在Rails中删除通配符cookie?
发布时间:2020-12-16 19:53:44 所属栏目:百科 来源:网络整理
导读:如何在使用通配符域设置的rails中删除Cookie? cookies[:foo] = {:value = 'bar',:domain = '.acme.com'} 在docs之后,你做: cookies.delete :foo 日志说 Cookie set: foo=; path=/; expires=Thu,01 Jan 1970 00:00:00 GMT 请注意,域丢失(似乎使用默认值) 一
如何在使用通配符域设置的rails中删除Cookie?
cookies[:foo] = {:value => 'bar',:domain => '.acme.com'} 在docs之后,你做: cookies.delete :foo 日志说 Cookie set: foo=; path=/; expires=Thu,01 Jan 1970 00:00:00 GMT 请注意,域丢失(似乎使用默认值) javascript:alert(document.cookie); 瞧! 问:删除这样的cookie是什么“正确”的方法? 解决方法
通过删除的域:以下是该方法的来源:
# 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 正如你所看到的,它只是设置一个空的cookie与你给的名字,设置为在1969年到期,没有内容.但它会合并您提供的任何其他选项,所以你可以做: cookies.delete :foo,:domain => '.acme.com' 你设置好了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |