3

Ember 1.0.0-rc.5 のビューで、そのプロパティに基づいて個々のレコードを見つけることは可能ですか? 私は何日も探し回っていますが、まだうまくいくものを見つけることができません。

たとえば、私はこれを行うことができるようにしたいと思います:

App.Tag.find({name: 'some tag'})これは 1 つのレコードを返すはずですが、代わりに配列を返します。

name フィールドはすべてのタグで一意であるため、1 つのオブジェクトのみを返す必要があります。

これはどのように行うことができますか?

ありがとう

4

2 に答える 2

1

モデルの find メソッドにクエリを渡すときは、配列にデータを入力するように設計された findQuery メソッドを呼び出しています。

これはfindQueryの定義です:

findQuery: function(store, type, query, recordArray) {
    var root = this.rootForType(type),
    adapter = this;

    return this.ajax(this.buildURL(root), "GET", {
      data: query
    }).then(function(json){
      adapter.didFindQuery(store, type, json, recordArray);
    }).then(null, rejectionHandler);
  },

次に、成功時に didFindQuery を呼び出して、返される配列を設定します。

didFindQuery: function(store, type, payload, recordArray) {
    var loader = DS.loaderFor(store);

    loader.populateArray = function(data) {
      recordArray.load(data);
    };

    get(this, 'serializer').extractMany(loader, payload, type);
  },

したがって、私の理解が正しいと仮定すると、あなたの場合の各「名前」が一意であることを考えると、配列の最初のキーを取得するだけです:

var tags = App.Tag.find({name: 'some tag'});
var tag = tags[0];
于 2013-06-06T10:53:39.713 に答える