2013-02-20 15 views
6

Şu anda, biz böyle bizim bağlantıları inşa ediyoruz: /comments/45 benzeyen bir bağlantı oluştururModeli önceden yüklemeden bağlantı nasıl oluşturulur?

<a {{action showComment comment href=true}}>Show</a> 

.

Ne yazık ki, yalnızca yorumu önceden yüklediğimizde işe yarar. Yorumu önceden yüklemeden mümkün mü?

<a {{action showComment comment_id href=true}}>Show</a> 

cevap

2

gerçek soru burada nedir: gibi görünebilir

şey? Bu bana açık değil.

O halde, şimdiki eylem işleyicisi şuna benzer: Şimdi

showComment : function(comment){ 
    //do your stuff with the model 
} 

İstediğiniz çözüm bu gibi görünebilir:

<a {{action showCommentById comment_id href=true}}>Show</a> 

Ve karşılık gelen işleyicisi:

showCommentById : function(commentId){ 
    var comment = App.Comment.findById(commentId); // i assume you have this retrieval method or something like it 
    this.showComment(comment); 
}, 
showComment : function(comment){ 
    //do your stuff with the model 
} 

ediyorum Bu iş senin durumunda mı? Yoksa başka bir şey mi niyet ettiniz?


GÜNCELLEME: OP istiyorum rotada Handling tüm veri var Rotanızı önce ben teklif etti eylem "showCommentById" işlemesi gereken : Yani aslında özgür olan

App.ArticlesRoute = Ember.Route.extend({ 
    events : { 
     showCommentById : function(commentId){ 
      var comment = App.Comment.findByIds(commentId); // i assume you have this retrieval 
      this.transitionTo("root.articles.comment", comment); 
     } 
    } 
}); 

Uygulamanızda eylemler nerede ele alınacağına karar vermek için.

+0

Bu işler, AMA! Yönlendiricimizin rotasındaki verileri (modellerde arama bulma işlevleri) yüklemeye devam etmek istiyoruz. Özellikle yeni router api'de, bir rota içindeki modellerin yüklenmesi çok güzel çözülür, bu yüzden önerdiğiniz gibi "navigasyon fonksiyonları" (showComment gibi) yapmak için en iyi uygulama olup olmadığından emin değilim. – kraftwer1

+1

Ama bu aramayı rotanıza kolayca aktarabilirsiniz? Bir keman koyabilir misin? O zaman mevcut App yapınızı anlayabilirim. – mavilein

+0

http://jsfiddle.net/AhgBh/ adresinden basit bir örnek koymaya çalıştım. Çalışmayacak, ama yapımızı biraz daha hassaslaştırıyor. Girişler için hoş geldiniz! – kraftwer1

İlgili konular