我希望覆盖模型的createRecord
,以便我可以在POST到REST端点之前提取HTML表单值并将其附加到JSON主体。
我试图避免在模型定义中包含该字段,因为它只使用一次(在创建时),并且从不从REST端点返回,也不需要在更新记录时使用。
e.g。
{
"id": "55fd0ff81be9be006737acef",
"name": "Trujillo",
"email": "trujillotyson@dentrex.com",
"createdDate": "2014-05-25T01:59:56 -08:00",
// Append this to the model JSON
"stripe_token": "55fd0ff8f342d8ba581a9e06"
}
但是,目前尚不清楚如何覆盖这一点 - 官方文档在相关的serialize
方法中有some thin documentation,但它并不全面。
在可能的情况下,我希望依靠现有方法来处理返回Promise并仅附加此字段。
/// app/adapters/some-model.js
export default ApplicationAdapter.extend({
createRecord(store, type, snapshot) {
var data = this.serialize(snapshot, { includeId: true });
// How do we achieve this - appending a key with
// data from the HTML form that `save()` is called from?
data.set('stripe_token', this.get('stripeToken'));
// Correct? Still leverage the base method
// but with our modifed 'data' instead
return this._super(store, type, data)
}
});
我如何实现上述目标?