Emberデータ0.13から1.0.0ベータから移行しています。文書https://github.com/emberjs/data/blob/master/TRANSITION.mdによれば、1タイプのアダプタと1タイプのシリアライザがあります。Emberデータ1.0.0:タイプ別のアダプタおよびシリアライザと混同しました
これは、プライマリキーと認証の特定のオーバーライドで「myRestAdapter」を定義できなくなったことを意味します。私はこのコードを各モデルタイプに実装して、同じコードをxx回複製する必要があります。唯一の代わりに_idの_idする主キーを設定するための
App.AuthenticatedRestAdapter = DS.RESTAdapter.extend({
serializer: DS.RESTSerializer.extend({
primaryKey: function() {
return '_id';
}
}),
ajax: function (url, type, hash) {
hash = hash || {};
hash.headers = hash.headers || {};
hash.headers['Authorization'] = App.Store.authToken;
return this._super(url, type, hash);
}
});
コードエンバーのデータ1.0.0(::エンバーデータ0.13で
コードは
App.AuthorSerializer = DS.RESTSerializer.extend({
normalize: function (type, property, hash) {
// property will be "post" for the post and "comments" for the
// comments (the name in the payload)
// normalize the `_id`
var json = { id: hash._id };
delete hash._id;
// normalize the underscored properties
for (var prop in hash) {
json[prop.camelize()] = hash[prop];
}
// delegate to any type-specific normalizations
return this._super(type, property, json);
}
});
私はそれが正しい理解しています_idを主キーとして必要とするすべてのモデルでこの同じブロックをコピーする必要がありますか?アプリケーション全体に対してこれを一度指定する方法はもうありませんか?
良い提案。これに従います!どうも。 Marc – cyclomarc
pertypeアダプタ/シリアライザが定義されていないモデルは、デフォルトのアダプタ/シリアライザにフォールバックされていますか? – mehulkar
@MehulKarデフォルトのアダプタにフォールバックする可能性はありませんでした。 – cyclomarc