Получить рельсы / разработать current_user из Backbone - PullRequest
6 голосов
/ 06 марта 2012

У меня есть приложение, в котором я управляю регистрацией / входом / выходом с помощью Rails через Devise.

Когда я вошел в систему, я перенаправлен на Dashboard # index, где начинается Backbone.

Я бы хотел как-то получить свои current_user.id и current_user.token в Backbone.

Моя единственная идея - иметь это в моем dashboard.html.haml

:javascript
  window.App.current_user.id = "#{current_user.id}"
  window.App.current_user.token = "#{current_user.token}"

1 Ответ

7 голосов
/ 12 марта 2012

(только учтите, что на стороне клиента должна быть доступна только общедоступная информация)

Для более элегантного решения вы можете создать модель UserSession Backbone и fetch с сервера как обычную модель Backbone.

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

Если вы не хотите делать этот дополнительный запрос, вы можете явно загрузить модель с данными, уже имеющимися во время визуализации шаблона:

window.App.current_user = 
  new window.App.UserSession({
    id:    "#{current_user.id}",
    token: "#{current_user.token}"
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...