ruby-on-rails – Rails Devise – current_user为零
发布时间:2020-12-16 23:01:17 所属栏目:百科 来源:网络整理
导读:由于某些原因,current_user在我的无模型控制器(订阅)中返回nil.我没有在互联网上找到任何理由来证明这种行为… class SubscriptionsController ApplicationController def new ... end def create current_user # returns nil endend 我有一个csrf元标记: m
由于某些原因,current_user在我的无模型控制器(订阅)中返回nil.我没有在互联网上找到任何理由来证明这种行为…
class SubscriptionsController < ApplicationController def new ... end def create current_user # returns nil end end 我有一个csrf元标记: <meta content="xxx" name="csrf-token"> 我可以提供更多的代码,但我不知道什么是有用的. UPDATE 所以感谢评论/答案,我已经将问题明确指出了一个特定的行动:创建. 如果我将@user = current_user添加到新的内容中,我可以在我的新视图中显示当前用户的电子邮件.但是,在我的创建控制器中,current_user返回nil. 我通过表单(提交)访问了创建操作. 在表单提交之前,我验证输入,然后发送一个请求到条纹,以获取一个令牌离开表单.如果没有错误(验证和条带),我然后发送表单. 可能是原因吗? 更新2 在我的错误消息中,我的会话转储是空的,而它应该包含current_user信息… 解决方法
原来我所做的AJAX请求没有携带CSRF令牌.因此,Rails正在杀死我的会话.
我添加了skip_before_filter:verify_authenticity_token在我的SubscriptionsController中,它现在正在工作.这可能不是最安全的解决方案,但它现在可以工作,所以我稍后会继续开发并回到这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |