【问题标题】:current_user returns nil even when user_signed_in? returns true即使 user_signed_in? current_user 返回 nil?返回真
【发布时间】:2012-07-25 21:38:14
【问题描述】:

我已经安装了 devise 2.1.2 和 cancan 1.6.8。

来自 devise 的 current_user 助手在我的控制器中运行良好,但无法在视图模板中运行。我很困惑为什么会这样。我以前可以在我的视图文件中使用current_user

我尝试添加 before_filter authenticate_user! 并没有帮助。

更糟的是,我会在 application_controller 添加一个前置过滤器,上面写着@current_user = current_user,但这似乎很愚蠢。

current_user 返回 nil 而 user_signed_in? 返回 true 很奇怪。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 devise cancan


    【解决方案1】:

    与此同时,warden.authenticate(:scope => :user) 似乎返回了 current_user,所以我将把它添加到我的应用程序助手中。

    【讨论】:

    • 我遇到了这个确切的问题,但没有找到解决方案。您上面的解决方法有效,但我想知道您是否找到了解决问题的方法。
    • 我做到了。我不小心创建了一个名为 current_user 的辅助方法,它一定是重载了设计辅助方法。
    • 感谢您的回复,这其实也是我的问题。我正在从 rails 2 升级并使用 restful_authentication,它有一个干扰用户的助手。
    猜你喜欢
    • 2015-04-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2013-02-18
    相关资源
    最近更新 更多