Example EmberData
by nrionfx
HTML
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://raw.github.com/wycats/handlebars.js/1.0.0-rc.3/dist/handlebars.js"></script>
<script src="https://raw.github.com/emberjs/ember.js/release-builds/ember-1.0.0-rc.1.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css">
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script src="https://gist.github.com/nrion/5145511/raw/d6d9ca20784374ce11cc3e66a7d1e410a216d764/ember-data-12.js"></script>
<script type="text/x-handlebars">
<h6>App Layout</h1>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
{{controller}}
<ul>
{{#each bugs}}
<li>{{name}}</li>
{{/each}}
</ul>
{{#view App.CreateBugView}}
Create new bug!
{{/view}}
</script>
<script type="text/x-handlebars" data-template-name="acc_item">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" {{bindAttr href="item.href" }}>
{{item.firstName}}
</a>
</div>
<div {{bindAttr id='item.id' }} class="accordion-body collapse in">
<div class="accordion-inner">
{{item.fullName}}
</div>
</div>
</div>
</script>
CoffeeScript
App = Em.Application.create()
window.App=App
# Models
App.Bug = DS.Model.extend
name: DS.attr 'string'
# Views
App.CreateBugView = Em.View.extend
tagName: 'button'
click: (evt) ->
bug = App.Bug.createRecord
name: 'Sean'
@.get('controller').save()
App.IndexController = Em.ArrayController.extend
save: ->
console?.log("Commiting changes to store")
@store.commit()
# Routes
App.IndexRoute = Em.Route.extend
model: -> App.Bug.find()
setupController: (controller, bugs) ->
controller.set 'bugs', bugs
controller.set 'App', App
# Store
App.Store = DS.Store.extend
revision: 12
adapter: 'DS.FixtureAdapter'
App.Bug.FIXTURES = [
{id: 1, name: 'first'},
{id: 2, name: 'second'}
];
# Router
App.Router.map ->
@route 'index', path: '/'