从Backbone检索rails / devise current_user

时间:2012-03-06 11:25:23

标签: ruby-on-rails devise backbone.js

我有一个应用程序,我使用Rails通过Devise管理注册/进/出。

当我登录时,我被重定向到Backbone开始的Dashboard #index。

我想以某种方式检索Backbone中的current_user.id和current_user.token。

我唯一的想法是在我的dashboard.html.haml

中有这个
:javascript
  window.App.current_user.id = "#{current_user.id}"
  window.App.current_user.token = "#{current_user.token}"

1 个答案:

答案 0 :(得分:7)

(请注意,只有公共信息才能在客户端访问)

要获得更优雅的解决方案,您可以使用正常的Backbone模型从服务器创建UserSession Backbone模型和fetch

window.App.UserSession = Backbone.Model.extend({
  urlRoot: "/session"
});

如果不想发出这个额外请求,您可以使用模板渲染时间中已有的数据显式加载模型:

window.App.current_user = 
  new window.App.UserSession({
    id:    "#{current_user.id}",
    token: "#{current_user.token}"
  });