2013-04-14 65 views
3

我是新來的燼,我真的很難與如何完成什麼應該是一個相當簡單的任務。非常困惑與燼重定向和/或渲染模板

我想把我的簡歷放入一個燼類應用程序。 作爲我的簡歷的一部分,我有幾個參考。

當有人點擊導航中的「參考」鏈接時,我希望它顯示每個參考鏈接以及第一個參考鏈接,作爲子鏈接顯示。

顯然,我的選擇是重定向到'references/1'url(不是很理想),或者顯示'reference'模板。

我會爲此構建一個JSFiddle,但jsfiddle似乎被打破,因爲我無法加載或查看任何已經存在的東西。

我有這個工作與常規路線,其中我加載引用,它顯示的鏈接,如果我點擊一個鏈接,或直接加載與'參考/ 2'網址頁面,它顯示正確的內容。

如果我重定向使用

 
App.ReferencesRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.References.find(); 
    }, 
    redirect: function(){ 
     this.transitionTo('reference',App.References.find(1)); 
    } 

}); 

我得到的URL重定向正確的,但我不明白的鏈接引用。我確實加載了「參考」模板,但模型沒有通過。我試過使用this.modelFor('references').get('firstObject'),但是這也不會返回任何東西,這就是爲什麼我使用find(1)

如果我嘗試與渲染模板和控制器這樣

 
App.ReferencesRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.References.find(); 
    }, 
    renderTemplate: function(){ 
     this.render(); 
     this.render('reference',{into: 'references',controller:'reference'}); 

    } 
}); 

App.ReferenceController = Ember.ObjectController.extend({ 
    letter: 'test letter' 
}); 

要做到這一點,我得到的鏈接和「測試信」的消息,但我遇到一些其他的問題。

1)I不能找出如何通過參考控制器第一模型,以便它實際上返回如同用戶是在同一「/參考/ 1」 URL

2)如果我單擊鏈接,選定的字母不會顯示,這意味着如果我使用控制器,鏈接不起作用。

3)我想讓第一個鏈接處於活動狀態,因爲這是已經顯示的信件,但與其他問題相比,這是一個小細節。

我對這個完全錯誤嗎?有什麼大的我失蹤了?

回答

1

用於通過重定向傳遞模式,我用這樣的:的方式

App.ReferencesIndexRoute = Ember.Route.extend({ 
    model : function(){ 
     return App.References.find(); 
    }, 
    redirect : function(){ 
     var model = this.controllerFor('references').get('model'); 
     this.transitionTo('reference', model); 
    } 
}); 
+0

這只是讓我的一部分,但沒有其他人響應。我想我將不得不將這些觀點放在不同的商店中,並將它們引用到js中。我寧願嵌套。 – pedalpete

+0

根據Ember文檔,重定向在內部傳遞模型,因此您不必執行this.controllerFor()行。但是,我無法讓這個工作 – netpoetica