gpt4 book ai didi

ember.js - 使用store.createRecord手动创建新记录时如何应用自定义转换

转载 作者:行者123 更新时间:2023-12-02 06:10:52 26 4
gpt4 key购买 nike

我有一个使用以下自定义转换之一的模型:

App.Question = DS.Model.extend({
questionName: DS.attr('string'),
attributes: DS.attr('myCustomTransform')
});

现在,我想创建一个问题记录,例如:
var newQuestion = store.createRecord('question', {"questionName":"abc", "attributes":{....}});

它创建一条记录,但不会将自定义转换应用于已加载的记录(或属性)。知道手动创建记录时如何应用转换吗?

谢谢,


*更新:工作解决方案*

我的模型如下所示:
AS.Question = DS.Model.extend({
questionName: DS.attr('string'),
answers: DS.hasMany('answer'),
childQuestions: DS.hasMany('question', {async:true})
});

添加逻辑如下所示:
$.ajax({
url: "questions",
data: {"templateId": templateQuestionId, "parentQuestionId": someId},
dataType: "json",
type: "POST"
}).done(function (data) {


/*
data looks something like
{"questions":[
{"id":122,
"questionName":"some question name",
"attributes": {"pinned":false,"randomized":false},
"answers":[1,2],
"childQuestions":[]
}]
,"answers":[
{"id":1,"answerText":"some text"}
,{"id":2,"answerText":"some text"}
]}
*/
store.pushPayload('question', data);
var questionId = data.question.id;
store.find('question', questionId).then(function(question){
parent.get('childQuestions').pushObject(question);
});
self.send('toggleBody');
});

最佳答案

转换是在与服务器之间的传输期间应用的,而不是在获取/设置期间应用的。

关于ember.js - 使用store.createRecord手动创建新记录时如何应用自定义转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20689693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com