vendredi 19 octobre 2018

Ember: Getting model data in the controller

I am new to ember and I am building a DnD character sheet to learn and practice. Right now I am having a lot of trouble getting access to model data in a controller. After hours and hours of reading related posts it is just not clicking and I think I am misunderstanding what I am passing to the controller.

Basically what I am trying to do is grab data from a model so I can do calculations on them and then display the results of those calculations on the page.

Here is my transforms/router.js:

Router.map(function() {
    this.route('characters', { path: '/'})
    this.route('new', {path: 'new'});
    this.route('view', {path: '/:character_id'});
});

So here I am trying to pull up the view page which has the URL of the character id. Next here is my route for the view page:

export default Route.extend({
    character: function () {
       return this.store.findRecord('character', id)
    }
});

So this is finding the record of the character with the id I pass. My link looks like this and is coming from a component:

    <h5 class="card-title"></h5>

Now I have my controller for the view page, which looks like this:

init(id){
    character = this.get('character')
}

This, however, gets me an error saying:

"Error while processing route: view character is not defined ReferenceError: character is not defined"

I've been trying to figure this out for quite a while now, and its getting pretty frustrating. I currently have a work around where I do the calculations beforehand and just store all the calculated results in the model as well, but while I am learning I would like to understand how this works. Thanks is advance.




Aucun commentaire:

Enregistrer un commentaire