samedi 9 juillet 2016

Getting Access to Associated Model Properties with Ember 2.6.x

I'm not able to access properties from other models currently. Not sure what I'm doing wrong. This is how we've done it in the past. Please be gentle. I'm sure I'm breaking some of Ember's rules here. Happy to be corrected in polite way.

The issue is accessing vehicle and driver properties from the schedule model.

routes/drivers/view.js

...
model( params ) {
    return Ember.RSVP.hash( {
        driver: this.store.findRecord( 'driver', params.driverId ),
        vehicle: this.store.findAll( 'vehicle' ),
        schedule: this.store.query( 'schedule', { driverId: params.driverId } )
    } );
},

setupController( controller, model ){
    controller.set( 'driver', model.driver );
    controller.set( 'schedule', model.schedule );
    controller.set( 'vehicles', model.vehicle );
},
...

models/schedule.js

driverId: attr(),
vehicleId: attr(),
day_of_week: attr(),
start_time: attr(),
end_time: attr(),

driver: belongsTo( 'driver', { async: true } ),
vehicle: belongsTo( 'vehicle', { async: true } )

serializers/schedule.js

export default DS.RESTSerializer.extend( {
    attrs: {
        driver: { key: 'driverId', serialize: false },
        vehicle: { key: 'vehicleId', serialize: false }
    }
} );

templates/drivers/view


     // undefined
     // undefined
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td> // undefined
            <i class="fa fa-floppy-o" ></i>
        </tr>


Aucun commentaire:

Enregistrer un commentaire