2013-05-29 14 views
7

Ich möchte den Benutzer an /articles weiterleiten, wenn er bei / ankommt. Leider wird /articles ‚s model() -function nicht ausgeführt werden, weil es nicht eine Aktualisierung der Seite ist:Umleiten von Index zu einer anderen Route und Force-Modell()

App.IndexRoute = Em.Route.extend 
    redirect: -> 
     @transitionTo "articles" 

Was ist der Ember-Weg, dies zu erreichen?

+0

es setupController Hinzufügen wird nicht helfen? –

+0

Gibt es eine einfachere Lösung? – kraftwer1

Antwort

8

Ich kann nicht wirklich den Rest Ihres Setup sagen, aber das ist, wie ich es

window.App = Ember.Application.create(); 

App.Store = DS.Store.extend({ 
    adapter: DS.FixtureAdapter 
}); 

App.Router.map(function() { 
    this.resource('articles', function() { 
    this.resource('article', {path: ':article_id'}); 
    }); 
}); 

App.Article = DS.Model.extend({ 
    title: DS.attr('string') 
}); 

App.Article.FIXTURES = [{ 
    id: 1, 
    title: 'blah' 
}, { 
    id: 2, 
    title: 'more blah' 
}]; 

App.IndexRoute = Ember.Route.extend({ 
    redirect: function() { 
    this.transitionTo('articles'); 
    } 
}); 

App.ArticlesRoute = Ember.Route.extend({ 
    model: function() { 
    return App.Article.find(); 
    } 
}); 

Arbeitsbeispiel erreichen: http://jsbin.com/imidiq/2/

+1

Vielen Dank, genau was ich brauchte. Mir war nicht bewusst, dass es möglich ist, Unterressourcen mit '{path:": article_id "}' zu erstellen – kraftwer1

Verwandte Themen