Ответ 1
Я думаю, что метод controllerFor
должен быть доступен в этом случае:
App.ApplicationRoute = Ember.Route.extend
events:
someAction: (user) ->
console.log this.controllerFor("currentUser").get("name")
Обновить в ответ на вопросы в сообщениях:
Все зависит от того, что вы хотите сделать. Беспокойство по поводу СУХОЙ по такому базовому методу не имеет особого значения imho.
В вашем случае, оставленном в порядке, я сделал бы это:
App.ApplicationRoute = Ember.Route.extend
events:
someAction: (user) ->
this.controllerFor("currentUser").decrementKudos();
// implement the decrementKudos in your controller
Но я думаю, что хранение этого одного контроллера также должно работать, если для вас слишком много кода:
App.ApplicationRoute = Ember.Route.extend
currentUserCon : this.controllerFor("currentUser")
events:
someAction: (user) ->
this.currentUserCon.decrementKudos();
// implement the decrementKudos in your controller