How to update Ember.Route model dynamically?

ember.js

Solution

This is because `model` hook is executed only when entered via URL for routes with dynamic segments. Read more about it here.

The easiest solution for this would be to use `transitionTo`.

App.PeopleRoute = Ember.Route.extend({
  model: function(params)
  {
    return App.Persons.find(params.personId);
  },
  actions: {
    personChanged: function(person){
       this.transitionTo("people", person);
    }
  } 
});

App.PeopleController = Em.Controller.extend({
  observeID: function(){
     this.send("personChanged");
  }.observes("model.id");
});

Problem

I have a route like this: ``` App.PeopleRoute = Ember.Route.extend({ model: function() { return App.Persons.find(personId); } }); ``` where personId is loaded asynchronically and is a normal JavaScript variable outside Ember. Now when route is displayed it gets the current PersonId and displays proper data. But when i change the value of personId it does not update the view. So my question is what is a way to refresh this route to find records with new personId?

Original source