Ember.js Como obter o controlador nas necessidades que está aninhado controllerName

Eu quero usarthis.get('controllers.pack.query'); para obterApp.PackQueryController emApp.PackController, mas falhou.

Eu acho que o problema é o uso de Emberpack nãopack.query ComocontrollerName quando ele tenta pegar o controlador. Embora eu possa obter o controle porthis.controllerFor('pack.query'), mas Ember diz que está obsoleto, por favor useneeds em vez de

Meu roteador mapeia gosta abaixo e eu definineeds: ['pack.query'] emApp.PackController

App.Router.map(function () {
    this.resource('pack', function () {
        this.route('index', {path: '/:pack_id'})
        this.route('query');
    });
});

App.PackController = Ember.ObjectController.extend({
    needs: ['pack.query'],
    queryPack: function () {
        var packQueryCtrller = this.get('controllers.pack.query');            

        Ember.debug('packQueryCtrller: ' + packQueryCtrller);
        //DEBUG: packQueryCtrller: undefined

        packQueryCtrller.queryPack(); //faild packQuery is undefined
    }
});

App.PackQueryController = Ember.ArrayController.extend({
    queryPack: function (queryKey) {
        //...do query pack
    }
});

questionAnswers(3)

yourAnswerToTheQuestion