1

次の 2 つの検索方法の違いが何なのか、私にはわかりません。

model: function (params) {
    return App.Publication.findById(params.publication_id);  
  },

model: function (params) {
    return App.Publication.find(params.publication_id);
  },

transition.retry; で findbyId メソッドを使用すると問題が発生しました。その場合、モデルがロードされず、移行時にエラーが発生しました... Ember: route ID is lost after a transition.retry() も参照してください - 何か間違ったことをしていますか?

4

1 に答える 1

4

メソッドがないDS.Storeので、について話していると思います。DS.ModelfindById

findとin store の違いは、名前が示すようにfindByIdfindByIdが id でデータを検索することです。find には、パラメーターに基づいてレコードを検索する多態的な方法があります。

  • store.find(App.Publication, 1 /* 文字列の数 */) を呼び出すと、store.findById が実行されます
  • store.find(App.Publication) を使用すると、store.findAll が実行されます
  • および store.find(App.Publication, { name: 'Tom' })、store.findQuery を呼び出す

DS.Model.find には store.find へのエイリアスがあるため、findById を作成するには、App.Publication.find(1 /* 文字列の数 */) を呼び出すだけです。

于 2013-08-18T16:50:45.927 に答える