How to route to the same nested state but have a different context?
===

I currently struggle to get a nested route to work, where one of the path elements is dynamic. That's the scenario I want to achieve:

The page contains the description of a project. Within the page is a tab menu to select different views. That should reflect in the URL as well. So I want to have different urls like:

    url#/project1/info
    url#/project1/status
    url#/project1/...

To not repeat the `:project` parameter I added a nested project route that is not a leaf but only responsible for serialization/deserialization of the project itself.
Everything works fine as long as I use the initial project. But it can happen, that I want to link from one project to another project. That means the URL should change from `url#/project1/info -> url#/project2/info` and thus the view should change as well to display the infos about project2.

Sounds straightforward. However the deserialization method of the project route is not called when I link to project2 with an action helper

    <a {{action changeProject context="App.project2" href=true}}>Go to project 2</a>

I guess that is because I am already in the info state. However how do I then propagate the context change? A simplified case you can find in the fiddle http://jsfiddle.net/jocsch/HYbZj/30/ or view it directly http://jsfiddle.net/jocsch/HYbZj/30/show/#/project1/info

     
    Router: Ember.Router.extend({
        enableLogging: true,
        root: Ember.Route.extend({
            changeProject: Em.State.transitionTo('project.info'),                 
            index: Ember.Route.extend({
              route: '/',
             }),
             project: Ember.Route.extend({
               route: '/:project', 
               deserialize: function(router, params) {
                  var proj = App.get(params['project']);
                  router.get("applicationController").set("content", proj);
                  return proj;
               },
               serialize: function(router, context) {
                   return {project: context.id};
               },
               index: Ember.Route.extend({
                  route: '/',
                  redirectsTo: 'info'   
                }),                                    
                info: Ember.Route.extend({
                  route: '/info',
                  connectOutlets: function(router) {
                    var ctrl = router.get('applicationController');
                    ctrl.connectOutlet('project', ctrl.get('content'));
                 }
             })
          })
       })
    })