我正在使用的應用程序有一個事件頁面,用戶可以從他們自己和朋友處看到事件,並且可以使用內聯事件創建器(創建事件,那個非常相同的頁面/路線)。 爲了更精確一點,這些事件都會以新聞源樣式加載和顯示,這非常合適,但現在的問題是嘗試保存新的事件模型。我認爲一些代碼會使這個更容易理解。 的路線:在同一路線/資源上創建並顯示EmberData模型
this.resource('newsfeed', function() {
this.route('personal');
this.route('whatever');
});
然後在NewsfeedIndexRoute
該應用具有
model: function() {
return App.Event.find();
}
在/新聞源顯示與一個ArrayController
所有事件。這工作正常。
Furthermroe的應用程序有一個NewsfeedRoute
和Controller
,以及因此事件創造者是所有子路由和保存的情況下,我們有以下代碼訪問:
App.NewsfeedRoute = Ember.Route.extend({
setupController: function(controller){
controller.newRecord();
}
});
App.NewsfeedController = Em.ObjectController.extend({
newRecord: function() {
//The following line works but makes the API 'dirty' and an extra model needs to be created
this.set('content', App.Newsfeed.createRecord({title: "new title"}));
//The next line would be preferred, but overrides the displayed models at /newsfeed
//this.set('content', App.Event.createRecord({title: "new title"}));
},
save: function() {
this.get('model').save();
}
});
所以,現在的問題是,當我轉到/ newsfeed並使用this.set('content', App.Event.createRecord({title: "new title"}));
行時,它會覆蓋使用該模型在newsfeed/index.hbs
模板中顯示的所有內容(只顯示「新標題」)。而且當你更多地輸入顯示的even-creator。這顯然不是我們想要的行爲。理想情況下,它應該以某種方式分離,然後保存到服務器。 您可以使用Newsfeed模型看到的另一行是解決方法,它可以很好地工作,但正如評論中提到的那樣,它感覺真的很像一個黑客,並且使API變得很髒,因爲使用帶有POST的/ events端點請求會更加RESTful。
因此,有沒有人有任何想法,如果有什麼辦法來實現現在與燼數據?
謝謝你的工作出色。 – Markus