gpt4 book ai didi

ruby-on-rails - Rails Devise - 当前用户为零

转载 作者:数据小太阳 更新时间:2023-10-29 06:43:32 26 4
gpt4 key购买 nike

出于某种原因,current_user 在我的无模型 Controller (订阅)中返回了nil。我在 Internet 上找不到任何可以证明这种行为的理由...

class SubscriptionsController < ApplicationController  
def new
...
end

def create
current_user # returns nil
end
end

我有一个 csrf 元标记:

<meta content="xxx" name="csrf-token">

我可以提供更多代码,但我不确定哪些代码会有用。

更新

感谢评论/回答,我已将问题确定为一个特定的操作:create

如果我将 @user = current_user 添加到 new,我可以在我的 new View 中显示当前用户的电子邮件。但是,在我的 create Controller 中,current_user 返回 nil

我通过表单(提交)访问了 create 操作。

在提交表单之前,我验证输入,然后向 Stripe 发送请求以从表单中获取 token 。如果没有错误(验证和条纹),我会发送表单。

会不会是这个原因?

更新 2

在我的错误消息中,我的 session 转储是,而它应该包含当前用户信息...

最佳答案

原来我发出的 AJAX 请求没有携带 CSRF token 。因此,Rails 终止了我的 session 。

我在我的 SubscriptionsController 中添加了 skip_before_filter :verify_authenticity_token,它现在可以正常工作了。它可能不是最安全的解决方案,但它目前有效,所以我会继续开发并稍后再回到这个问题。

关于ruby-on-rails - Rails Devise - 当前用户为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com