ruby-on-rails – Rails Devise – current_user为零

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails Devise – current_user为零前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于某些原因,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中,它现在正在工作.这可能不是最安全的解决方案,但它现在可以工作,所以我稍后会继续开发并回到这个问题.

原文链接:https://www.f2er.com/ruby/265236.html

猜你在找的Ruby相关文章