2013-03-01 4 views
3

Возможно, самый простой вопрос, который я задал недавно.Ember.js: Получить идентификатор с текущего активного маршрута

Учитывая маршрут создан следующим образом:

Social.Router.map(function() { 
    this.resource('accounts', function(){ 
     this.resource('account', { path: ':account_id'}); 
    }); 
}); 

И URL так:

/accounts/12 

Как бы я получить ACCOUNT_ID, если бы я хотел, чтобы получить текущую активную запись счета? Конечной целью является то, что я делаю это:

acct = App.Account.find(12) 

Когда я предпочел бы сделать это

acct = App.Account.find(account_id) 

UPDATE 1

Вот AccountsRoute:

Social.AccountsRoute = Ember.Route.extend({ 
    model: function() { 
     return Social.Account.find(); 
    } 
}); 
+0

Вы спрашиваете, как получить динамический сегмент пути текущего маршрута или как перейти к маршруту, соответствующему данному пользователю (то есть текущему пользователю)? – ahmacleod

+0

Можете ли вы добавить свой класс 'AccountRoute'? Если вы следуете рекомендациям, у него должен быть аргумент 'params' в вашей функции' model', и вы сможете получить его как 'params.account_id' в соответствии с [Руководством по динамическим сегментам] (http: // emberjs. com/guide/routing/define-your-routes/# toc_dynamic-segment) – MilkyWayJoe

+0

добавить аргумент 'params' в функцию' model' и попробовать путь 'params.account_id' – MilkyWayJoe

ответ

2

В Ember нет канонического механизма для хранения и извлечения c текущий пользователь. Самое простое решение - это, вероятно, сохранить идентификатор учетной записи текущего пользователя до Social.currentAccountId, когда пользователь будет аутентифицирован (т. Е. В обратном вызове вашего запроса ajax). Тогда вы можете сделать:

Social.Account.find(Social.get('currentAccountId')) 

, когда вам нужно, чтобы получить текущего пользователя.

+0

Да. Это маршрут, о котором я думал о спуске. Спасибо за предложение. – commadelimited

Смежные вопросы