如何将rails#session集成到骨干网中更好

时间:2013-03-19 15:54:16

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

首先,我读过Integrating Devise with Backbone.js。但最重要的是 - 我不使用Devise 现在我已经为注册和创建骨干视图身份验证(骨干只是连接到rails以获得后端支持)。我想知道的是 - 是否有任何存储用户登录信息的可能性&你在哪里建议存储它,或者当我需要信息时我必须连接到后端?

更新1
我尝试在登录全局变量后存储用户,该变量在路由器(骨干)中声明

class Notes.Routers.Articles extends Backbone.Router
  currentUser: null

在一个视图中

@currentUser = response // it's a response object from ajax call
 Backbone.history.navigate("articles",true)

并在目标视图中

 console.log  @currentUser

它不起作用,有什么建议吗?

1 个答案:

答案 0 :(得分:1)

查看“gon”gem - 它可以在JavaScript环境中访问rails会话信息以及您想要的任何其他内容。我曾经在一个客户的项目中使用过一次,它运行得非常好。

如果你不想做那样的事情,那么“简单”的方法就是直接将渲染的会话信息转储到你的JavaScript代码中。

例如,您可以在视图模板中执行以下操作:


window.currentUser = {
  name: ""
};

这样,您就可以在JavaScript代码的任何位置访问currentUser.name