首先,我读过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
它不起作用,有什么建议吗?
答案 0 :(得分:1)
查看“gon”gem - 它可以在JavaScript环境中访问rails会话信息以及您想要的任何其他内容。我曾经在一个客户的项目中使用过一次,它运行得非常好。
如果你不想做那样的事情,那么“简单”的方法就是直接将渲染的会话信息转储到你的JavaScript代码中。
例如,您可以在视图模板中执行以下操作:
window.currentUser = {
name: ""
};
这样,您就可以在JavaScript代码的任何位置访问currentUser.name
。