Skip to content

Instantly share code, notes, and snippets.

@johnwesonga
Last active August 29, 2015 14:19
Show Gist options
  • Save johnwesonga/839c6801bcf2bd00168c to your computer and use it in GitHub Desktop.
Save johnwesonga/839c6801bcf2bd00168c to your computer and use it in GitHub Desktop.
Emberjs routing headache
Steps:
Create new ember project- "ember new todo"
Add adapter to project - "ember g adapter application"
Add model to project - "ember g model todo task:string completed:boolean"
Add route to project - "ember g route todo"
Sub Steps:
Create fixtures for model:
import DS from 'ember-data';
let Todo = DS.Model.extend({
task: DS.attr('string'),
completed: DS.attr('boolean')
});
Todo.reopenClass({
FIXTURES: [
{ id: 1, task: 'Jack Sparrow', completed: true },
{ id: 2, task: 'Long John Silver' , completed: true }
]
});
export default Todo;
Plug in method into route:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.find('todo');
}
});
app/router.js
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.route('todo');
});
Run server, http://localhost:4200/todo and eat errors galore!!
GET http://localhost:4200/todos 404 (Not Found)jQuery.ajaxTransport.send @ jquery.js:9659jQuery.extend.ajax @ jquery.js:9210ember$data$lib$system$adapter$$Adapter.extend.ajax @ rest-adapter.js:792initializePromise @ ember.debug.js:46984Promise @ ember.debug.js:48612ember$data$lib$system$adapter$$Adapter.extend.ajax @ rest-adapter.js:776ember$data$lib$system$adapter$$Adapter.extend.findAll @ rest-adapter.js:371ember$data$lib$system$store$finders$$_findAll @ finders.js:115ember$data$lib$system$store$$Service.extend._fetchAll @ store.js:997ember$data$lib$system$store$$Service.extend.fetchAll @ store.js:570ember$data$lib$system$store$$Service.extend.findAll @ store.js:978ember$data$lib$system$store$$Service.extend.find @ store.js:514model @ todo.js:7EmberObject.default.extend.deserialize @ ember.debug.js:22623applyHook @ ember.debug.js:46611HandlerInfo.runSharedModelHook @ ember.debug.js:44612subclass.getModel @ ember.debug.js:44838__exports__.bind @ ember.debug.js:46480tryCatch @ ember.debug.js:46937invokeCallback @ ember.debug.js:46949publish @ ember.debug.js:46920(anonymous function) @ ember.debug.js:27239Queue.invoke @ ember.debug.js:871Queue.flush @ ember.debug.js:936DeferredActionQueues.flush @ ember.debug.js:741Backburner.end @ ember.debug.js:166Backburner.run @ ember.debug.js:221Backburner.join @ ember.debug.js:240run.join @ ember.debug.js:15966run.bind @ ember.debug.js:16021jQuery.Callbacks.fire @ jquery.js:3143jQuery.Callbacks.self.fireWith @ jquery.js:3255jQuery.extend.ready @ jquery.js:3467completed @ jquery.js:3498
ember.debug.js:24085 Error while processing route: todo Not Found Error: Not Found
at ember$data$lib$system$adapter$$Adapter.extend.ajaxError (http://localhost:4200/assets/vendor.js:62085:35)
at ember$data$lib$system$adapter$$Adapter.extend.ajax.Ember.RSVP.Promise.hash.error (http://localhost:4200/assets/vendor.js:62160:45)
at jQuery.Callbacks.fire (http://localhost:4200/assets/vendor.js:3345:30)
at Object.jQuery.Callbacks.self.fireWith [as rejectWith] (http://localhost:4200/assets/vendor.js:3457:7)
at done (http://localhost:4200/assets/vendor.js:9513:14)
at XMLHttpRequest.jQuery.ajaxTransport.send.callback (http://localhost:4200/assets/vendor.js:9915:8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment