Last active
August 29, 2015 14:19
-
-
Save johnwesonga/839c6801bcf2bd00168c to your computer and use it in GitHub Desktop.
Emberjs routing headache
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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