Javascript 如何从Desive in Rails中获取当前的用户以供JS使用

Javascript 如何从Desive in Rails中获取当前的用户以供JS使用,javascript,ruby-on-rails,ruby-on-rails-4,devise,Javascript,Ruby On Rails,Ruby On Rails 4,Devise,我正试图找出从rails中的Desive中获取当前用户用户名和id的最佳方法,而不必将其存储在DOM中供以后访问。有什么技术/策略可以做到这一点吗?当Rails只是服务器的后端,javascript是客户端的前端时,您需要在html或ajax中添加一些东西 有几种方法: 1. 只需使用数据属性将其写入主体 <body data-username="<%= current_user.username %> 或者3。也许这颗宝石对你有帮助 如果您需要这些信息来对某些URL或任何

我正试图找出从rails中的Desive中获取当前用户用户名和id的最佳方法,而不必将其存储在DOM中供以后访问。有什么技术/策略可以做到这一点吗?

当Rails只是服务器的后端,javascript是客户端的前端时,您需要在html或ajax中添加一些东西

有几种方法:

1. 只需使用数据属性将其写入主体

<body data-username="<%= current_user.username %>
或者3。也许这颗宝石对你有帮助

如果您需要这些信息来对某些URL或任何东西进行ajax调用,我总是会选择解决方案1。这就是HTML5中存在数据属性的原因

$.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