jeudi 8 septembre 2016

Ember: model not being set by store in model hook route

So what I am doing is extremely basic: rendering model data to the template. Upon setting the model hook, the object doesn't show data in the corresponding template, I have tried this but it was of now help. Here's my code:

contact (route):

user: Ember.inject.service('current-user'),

    model: function()
    {
        // var that = this;
        // console.log('whats being returned bitch: ', this.store.findRecord('contact', this.get('user').contactID));
        //return this.store.findRecord('contact', this.get('user').contactID);
        var records = this.store.findRecord('contact', this.get('user').contactID);
        var promise = Ember.RSVP.defer();
        // console.log('promise', promise.resolve());
        // records.addObserver('isLoaded', function() {
        //  // console.log('records.getv', records);

            promise.resolve(records);
        //});
        return promise;
    }, 
    setupController: function(controller)
    {
       // Get the parameters for the current route every time as they might change from one record to another
       var params = this.paramsFor('dashboard.contact');
       console.log('params', params);
       // Set the data in the current instance of the object, this is required. Unless this is done the route will display the same data every time
       this.module = Ember.String.capitalize(params.module);

       this.id = params.id;
       this.data = this.store.find(this.module,this.id);

       // Set the data in the controller so that any data bound in the view can get re-rendered
       controller.set('id',this.id);
       controller.set('model',this.data);
       controller.set('module',this.module);
     }
});


First i was trying just model() { 
     return this.store.findRecord('contact', this.get('user').contactID);
} 

but it was not displaying data, then i tried deferring the promise and resolving it (so that template loading and model hook could be synchronised) and finally i tried setting up the controller but that work since params is empty for some reason :/

Please help!




Aucun commentaire:

Enregistrer un commentaire