Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
  <script src="http://code.jquery.com/jquery-2.0.2.js"></script>
  <script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
  <script src="http://builds.emberjs.com/ember-latest.js"></script>
  <script src="http://builds.emberjs.com/canary/ember-data.js"></script>
</head>
<body>
  <script type="text/x-handlebars" data-template-name="application">
    <h1>ember-latest jsbin</h1>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="users">
    <h2>Index Content:</h2>
    <ul>
      {{#each}}
        <li>
          {{#link-to 'users.edit' this}}{{name}}{{/link-to}}
          <ul>
            {{#each projects}}
            <li>{{name}}</li>
          {{/each}}  
          </ul>
        </li>
      {{/each}}
    </ul>
    
    {{outlet}}
  </script>
  
  <script type="text/x-handlebars" data-template-name="users/edit">
    <h3>Edit {{name}}</h3>
    <form>
      {{view Ember.TextField valueBinding='name'}}
      <button {{action 'save' model}}>Save</button>
    </form>
  </script>
</body>
</html>
 
App = Ember.Application.create({});
App.Store = DS.Store.extend({
    adapter: DS.FixtureAdapter
});
App.User = DS.Model.extend({
  name: DS.attr('string'),
  projects: DS.hasMany('project', { async: true})
});
App.Project = DS.Model.extend({
  name: DS.attr('string'),
  user: DS.belongsTo('user')
});
App.User.FIXTURES = [
  { id: 1, name: 'Kris', projects: [1,2] },
  { id: 2, name: 'Luke', projects: [1,2] }
];
App.Project.FIXTURES = [
  { id: 1, name: 'Ember' },
  { id: 2, name: 'Angular' }
];
App.Router.map(function(){
  this.resource('users', function(){
    this.route('edit', { path: ':user_id/edit' });
  });
});
App.IndexRoute = Ember.Route.extend({
  redirect: function() {
    this.transitionTo('users');
  }
});
App.UsersRoute = Ember.Route.extend({
  actions: {
    save: function(model) {
      var self = this;
      model.save().then(function() {
        this.transitionTo('users');
      });
    }
  },
  model: function(){ 
    return this.store.find('user');
  }
});
Output 300px

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

Dismiss x
public
Bin info
delwynpro
0viewers