【问题标题】:How can I get the current_user from Devise in Rails for JS use如何从 Rails 中的 Devise 获取 current_user 以供 JS 使用
【发布时间】:2015-09-02 07:33:00
【问题描述】:

我正在尝试找出从 rails 中的设计获取 current_users 用户名和 id 的最佳方法,而无需将其存储在 DOM 中以供以后访问。是否有任何技术/策略来实现这一目标?

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4 devise


    【解决方案1】:

    虽然 Rails 只是服务器的后端,而 javascript 是客户端的前端,但您肯定需要在 html 或 ajax 中放入一些内容。

    一些方法:

    1. 只需将其写入带有数据属性的正文中即可

    <body data-username="<%= current_user.username %>
    

    2. 向服务器发出 ajax 调用以接收该信息(伪代码)

    $.ready() {
      $.getJSON(/api/user-information, function(data) {
        username = data.username
        settings = data.settings
        unread_messages = data.unread_messages_count
      }
    }
    # /api/user-information
    def user_info
      render json: {username: current_user.name, settings: {enabled: false, wants_chat: true}, unread_messages: 10}
    end
    

    3.也许这颗宝石正在帮助你 https://github.com/kbparagua/paloma

    如果您需要这些信息来对某些 url 或其他什么进行一些 ajax 调用 - 我总是会选择解决方案 #1。这就是 HTML5 中存在数据属性的原因

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多