如何在 Devise 中定义 current_user?

How to define current_user in Devise?

我想在我的 RoR 应用程序中打印当前用户的电子邮件。为此,我确实使用了下一个代码:

User.current_user

并打印下一个错误:undefined methodcurrent_user' for #`

但是当我只使用 current_user 时它不打印任何东西。我确实在 Google 和 Stack 中进行了搜索,尝试使用它们的答案,但一无所获。

如何获取用户邮箱?

试试这个。

User.current_user.email

在控制器中,current_user 单独将 return 当前登录的用户。所以 current_user.email 将 return signed_in 用户的电子邮件。对于未登录的用户,current_user 将 return 为零。 要在控制器中打印当前用户电子邮件,

class TestController < ApplicationController

  def example
    p current_user.try(:email) # try is used because it will return nil if the user is signed in. otherwise, it will raise an error undefined method 'user' for nil class
  end
end