Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting started with Ember.js

Getting started with Ember.js

Lightning talk given on Thursday 29th of August 2013 at the Melbourne Ruby on Rails meetup.

Avatar for Matt Delves

Matt Delves

August 29, 2013

Other Decks in Programming

Transcript

  1. <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <button type="button"

    class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span class="brand">{{#linkTo 'index'}}Second Line{{/linkTo}}</span> <div class="nav-collapse collapse"> <ul class="nav"> <li {{bindAttr class="isVenues:active"}}>{{#linkTo 'venues'}}Venues{{/linkTo}}</li> <li {{bindAttr class="isBands:active"}}>{{#linkTo 'bands'}}Bands{{/linkTo}}</li> <li {{bindAttr class="isGigs:active"}}>{{#linkTo 'gigs'}}Gigs{{/linkTo}}</li> <li {{bindAttr class="isUsers:active"}}>{{#linkTo 'users'}}Users{{/linkTo}}</li> </ul> {{view Secondline.AuthView}} </div><!--/.nav-collapse --> </div> </div> </div> <div class="container"> <!-- Main hero unit for a primary marketing message or call to action --> <div class="hero-unit"> {{outlet}} </div> <hr> <footer> <p>&copy; Reformed Software 2013</p> </footer> </div> <!-- /container --> Friday, 30 August 13
  2. Secondline.Router.reopen location: 'history' rootURL: '/' Secondline.Router.map (match)-> @resource 'venues', ->

    @route 'show', path: '/:venue_id' @resource 'gigs', -> @route 'show', path: '/:gig_id' @resource 'bands', -> @route 'show', path: '/:band_id' @resource 'users', -> @route 'show', path: '/:user_id' Secondline.IndexRoute = Ember.Route.extend setupController: (controller, model) -> @controllerFor('application').set('currentRoute', 'index') Secondline.VenuesRoute = Ember.Route.extend model: -> Secondline.Venue.find() setupController: (controller, model) -> @controllerFor('application').set('currentRoute', 'venues') Friday, 30 August 13
  3. App.SongsController = Ember.ArrayController.extend({ longSongCount: function() { var longSongs = this.filter(function(song)

    { return song.get('duration') > 30; }); return longSongs.get('length'); }.property('@each.duration') }); Friday, 30 August 13