vendredi 26 février 2016

Ember return length of a model created today

I am trying to do this: I have a model called 'trip', and inside trip, an attribute called 'createdToday', which returns the date when a trip is created. What I want is to return a list of trips that were made today.

Here is my trip model:

import DS from 'ember-data';

export default DS.Model.extend({
    driver: DS.belongsTo('driver', {
        async: true,
        inverse: 'trip'
    }),


    ..... etc .......


    createdAt: DS.attr('string', {
        defaultValue() {
            return new Date();
        }
    }),
    isBookedToday: function(trip) {
        var today = new Date().toDateString();
        return (today === trip.get('createdAt').toDateString);
    },
    getTripsToday: Ember.computed('trip.@each.createdAt', function() {
        var tripsToday = this.get('trip');
        return tripsToday.filterBy('isBookedToday', true).get('length');
    })

});

In my isBookedToday, I'm trying to see if an individual trip's created time is the same as todays time, and in getTripsToday, I am trying to loop through all the trips and filtering by isBookedToday.

And in my .hbs file, I'm saying: {{trips.getTripsToday}}, which won't render anything, so something's wrong.

I guess I am most confused at Ember's @each and exactly how it works.

Thanks for any feedback.




Aucun commentaire:

Enregistrer un commentaire