mercredi 31 mai 2017

How can I avoid "Assertion Failed: `id` passed to `findRecord()` has to be non-empty string or number" when refreshing an ember page?

There's this really annoying feature about Ember that I'm not sure how to get around. I may have a url that looks like the following

http://{my-blog-name}/posts/view/{some-blogpost-ID}

The way I get to this page is by clicking on a link inside of my {my-blog-name}/posts page. This works and will display the page as expected. However, if I try to refresh the page, or if I just literally type my http://{my-blog-name}/posts/view/{some-blogpost-ID} into my url search box, I will get

Assertion Failed: `id` passed to `findRecord()` has to be non-empty string or number

Here is how I navigate to the posts/view/{some-blog-id} page.

posts.hbs

<li class="title-list-item"></li> 

view.js

import Ember from 'ember';

var siteId;

export default Ember.Route.extend({
    model(params) {
        siteId = params.site_id;
        return this.store.findRecord('post', params.site_id);
    }
});

This is really frustrating because it means I can't make a blog post and share the link with a friend. Why does this happen and is there a good way to get around it?




Aucun commentaire:

Enregistrer un commentaire