Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Refresh model in route</title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.3.0.js"></script>
  <script src="http://builds.emberjs.com/tags/v1.5.1/ember.js"></script>
</head>
<body>
  <script type="text/x-handlebars">
    <h1>application</h2>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="index">
    <h2>index</h2>
    {{#each pr in model}}
      <div><em>Login</em>: {{pr.user.login}}</div>
      <div><em>Created at</em>: {{pr.created_at}}</div>
      <div><em>Title</em>: {{pr.title}}</div>
      <hr/>
    {{/each}}
    <button {{action "getLatest"}}>Get latest model</button>
  </script>
</body>
</html>
 
App = Ember.Application.create();
App.IndexRoute = Ember.Route.extend({
  model: function() {
    var url = 'https://api.github.com/repos/emberjs/ember.js/pulls';
    return Ember.$.getJSON(url).then(function(data) {
      return data.splice(0, 3);
    });
  },
  actions: {
    invalidateModel: function() {
      Ember.Logger.log('Route is now refreshing...');
      this.refresh();
    }
  }
});
App.IndexController = Ember.Controller.extend({
  actions: {
    getLatest: function() {
      Ember.Logger.log('Controller requesting route to refresh...');
      this.send('invalidateModel');
    }
  }
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x