簡體   English   中英

如何從Devise in Rails中獲取current_user以供JS使用

[英]How can I get the current_user from Devise in Rails for JS use

我正在嘗試找出從rails中的dev中獲取current_users用戶名和ID的最佳方法,而不必將其存儲在DOM中以供以后訪問。 是否有任何技術/策略可以做到這一點?

盡管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中存在數據屬性的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM