【问题标题】:how to retrieve user name from cookie session data(RAILS)如何从 cookie 会话数据中检索用户名(RAILS)
【发布时间】:2014-10-04 19:09:42
【问题描述】:

我正在研究 ROR,我有一些在用户仪表板区域中呈现的部分侧边栏,我正在仪表板中返回用户的姓名,就像这样。最初仪表板布局仅包含在用户控制器中。但是现在我需要用一个新的控制器来使用它

   <h1>Welcome Back,  <%= @user.name %> </h1>

所以我改成

   <h1>Welcome Back,  <%= current_user %> </h1>

但现在的问题是 current_user 不是返回用户名,而是返回这个

   #<User:0x007fa8ee293940>

我假设是 remember_token 哈希。现在由于 current_user 已经有了会话 cookie,我不确定如何遍历数据库来获取用户名。有人可以帮我调整 current_user 以获取当前会话用户但返回用户名吗?

谢谢!

这是我的会话助手

    def sign_in(user)
        remember_token = User.new_remember_token
        cookies.permanent[:remember_token] = remember_token
        user.update_attribute(:remember_token, User.digest(remember_token))
        self.current_user = user
    end

    def current_user= (user)
        @current_user = user
    end

    def current_user
        remember_token = User.digest(cookies[:remember_token])
        @current_user || User.find_by(remember_token: remember_token)       
    end

【问题讨论】:

    标签: ruby-on-rails session authentication cookies controller


    【解决方案1】:

    &lt;User:0x007fa8ee293940&gt; 是用户对象的字符串表示形式。您需要该对象的 name 属性,类似于您之前所做的 (@user.name)。应该用 current_user.name 代替 current_user。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2012-12-18
      • 2021-10-18
      • 1970-01-01
      • 2013-03-13
      • 2016-03-26
      • 1970-01-01
      相关资源
      最近更新 更多