2014-03-04 58 views
0

我需要重寫ember-data中的find()方法以使其與我的應用兼容。它不是我必須做的巨大修改,但我不知道從哪裏開始。Ember數據覆蓋查找方法

到目前爲止,當我嘗試這樣做:this.store.find('enquiry'); Ember-Data試圖從http://localhost/enquiries而不是http://localhost/enquiry獲取信息。我的問題是,我不需要得到我的網址的複數..

我想也使用jquery方法,但是,我寧願使用Ember-Data這個。我怎樣才能做到這一點 ?

另一個問題:在這個工作之後,Ember-Data是在應用程序中動態生成模型的嗎?因爲我在JSON有很多場,我不能讓用戶手動寫下來......

我可以做這樣的事情:

App.Store = DS.Store.extend({ 
    adapter: '-active-model' 
    }); 

    App.Enquiry = DS.Model.extend(); 

感謝您的幫助!

回答

3

This頁面將向您顯示如何在您的應用程序中使用自定義適配器。並且this頁面將向您展示如何重寫您的子類中的方法。

昨天我沒有在Ember論壇上看到您的回覆,但在我看來,您仍然可以更好地編寫自己的適配器。看起來你會試圖修改REST適配器,而不是自己創建REST適配器。

但如果你仍然想延長休息適配器,這裏是如何:

App.ApplicationAdapter = DS.RESTAdapter.extend({ 
    find:() { 
     //... 
    } 
}): 

關於你的第二個問題,沒有,灰燼,數據不會自動拿起領域。我敢肯定,如果您在JSON中包含未在相應模型中聲明的字段,它會引發錯誤。這是設計。如果您在開發時不知道自己的領域,那麼您如何在模板或控制器中使用它們?

+0

謝謝!現在我已經使用'ember. $。get'來獲取我的數據,並且正在做一個將它放入商店的工具,因爲我正在接收一個對象數組(只是想出它)。但是,無論何時刷新我的瀏覽器,數據都會在ember-data中被刪除。有什麼辦法可以解決這個問題嗎? – SuperMarco

+0

是的,您可以將數據存儲在瀏覽器的[localStorage](http://diveintohtml5.info/storage.html)中,該數據將通過頁面刷新持續進行。 – GJK

+0

你不需要重寫'find'來改變複數。 – 2015-06-05 03:36:33