新手问题 rails 使用生成的 destroy 方法时,为什么同时还会将 session 中的数据销毁了?

zjnxzy · February 02, 2013 · Last by zjnxzy replied at February 06, 2013 · 2618 hits

今天在使用 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 哦哦,谢谢!我试试。。。。

You need to Sign in before reply, if you don't have an account, please Sign up first.