2013-03-19 2 views
0

우선 나는 Integrating Devise with Backbone.js을 읽었다. 하지만 중요한 것은 - 나는 Devise를 사용하지 않는다.
이제 & (백본은 백엔드 지원을 위해 레일에 간단하게 연결)을 등록하기위한 백본보기를 만들었습니다. 내가 알고 싶은 것은 - 사용자가 로그인했는지 아닌지에 대한 정보를 저장할 수있는 가능성이 있습니까? & 어디에 저장해야하는지 조언합니까, 아니면 정보가 필요할 때 백엔드에 연결해야합니까?레일 # 세션을 백본에 통합하는 것이 더 낫다

내가

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

와 하나 개의보기에서 라우터 (백본)에서 선언 된 전역 변수,

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

에 로그인 후 사용자를 저장하려고 1
업데이트 목표보기

console.log @currentUser 

그것은, 어떤 제안을 작동하지 않습니다?

답변

1

"gon"젬을 확인하십시오 - 자바 스크립트 환경에서 레일 세션 정보 및 레일에서 원하는 모든 항목에 대한 액세스를 제공합니다. 나는 한 번 클라이언트와 프로젝트에서 이것을 사용했고 정말 잘 작동했습니다.

그런 식으로하고 싶지 않다면 "쉬운"방법은 렌더링 된 세션 정보를 자바 스크립트 코드로 직접 덤프하는 것입니다.


window.currentUser = { 
    name: "" 
}; 

을 그리고 이것은 당신이 당신의 자바 스크립트 코드 어디 currentUser.name에 액세스 할 수 있습니다 :

예를 들어, 뷰 템플릿에서 같은 것을 할 수 있습니다.

+0

내 업데이트 – Elmor

+0

을 라우터에 저장하지 마십시오. 이렇게하면 라우터 인스턴스를 통해 항상 액세스 할 수있게되므로 실행중인 문제가됩니다. 액세스하는 범위에 존재하지 않는 변수에 액세스하려고합니다. 전역 '창'또는 응용 프로그램의 루트 네임 스페이스 객체에 저장하지만 라우터와 같은 특정 유형의 인스턴스는 저장하지 마십시오. –

관련 문제