2013-03-31 21 views
2

隨着基本適配器Ember.js數據 - 基本適配器沒有實現findAll方法?

App.Store = DS.Store.extend({ 
    revision: 12, 
    adapter: 'DS.BasicAdapter' 
}); 

我:

'未捕獲的適配器爲null,或者不執行findAll方法'。

確實沒有findAll方法在basicAdapter(我確實確保適配器不爲空)。我正在使用所有最新版本的ember和ember數據(從master用於ember,由master和basic-adapter分支爲emberjs構建)。

這還沒執行還是我錯過了什麼? 由於我是從燼開始的,我不太有信心提交拉請求,對不起。

回答

2

您需要sync對象。例如:

App.Post = DS.Model.extend({ 
     author: DS.attr('string'), 
     read: DS.attr('boolen') 
    }); 

    App.Post.sync = { 
     query: function (id, process) { 
      console.log('find query for Post', arguments); 

      $.getJSON('/path/to/API/').then(function (posts) { 
       process(posts.map(function (post) { 
        return { 
         author: post.author, 
         read: post.is_read 
        }; 
       })).load(); 

       console.log('got posts', posts); 
      }); 
     } 
    }; 

然後聯營模式與路徑:

App.PostRoute = Ember.Route.extend({ 
    model: function() { 
     console.log('Post route'); 

     return App.Post.find({}); 
    } 
}); 

一旦您訪問在你的應用程序post路線,你應該是不錯的。 {}find()中很重要。

+0

呃,我添加了方法findAll來同步,但不是查詢之一... –

相關問題