今天在使用 rails 开发时,使用 rake 生产的增删改查方法,发现使用 destroy 方法(删除一条数据)时,会将保存在 session 中的用户信息也一起销毁了,不知道是什么原因。。。。
你是 ajax 提交的?
#1 楼 @ywencn 不是哦,只是平常的提交,提交完以后,session 保存的用户信息就自动删除了....感觉很奇怪。。。。
看一下你 controler 中的 filter,是否有一些不当的操作
很可能是提交没带 crlf,rails 会自动删除 session
那条记录删除成功?
你用 flash 保存的?
#4 楼 @lyfi2003 对,这个可能性大,好好看看日志
csrf。 flash,mobile 提交都会遇到这样的问题。 form 提交不会有这样的问题
#4 楼 @lyfi2003 csrf 是什么东东呀?不了解哦!我测试发现只要使用了自己定义的布局后,再使用 destroy 方法则会自动的删除 session。然而自己写一个 delete 方法,使用 get 提交,则不会发生这种情况。
#5 楼 @cantin 记录删除成功了。。。
#6 楼 @hooopo 不是哦,session 的保存方式设置的是 cookie_store
= csrf_meta_tags
在你自定义的 layout 中加入这个,csrf 可以去看 rails guides 的安全那一章
#12 楼 @cantin 哦哦,谢谢!我试试。。。。