0
我使用云端函数在'onWrite'事件的记录上生成一个简短的唯一URL并保存。这很好,但是当我使用EmberFire从我的Ember应用中保存一条记录时,我确实将模型作为回调的参数返回,但是此模型的URL未定义。有没有办法将这个返回给客户端?或者我需要查询记录以获取生成的URL?EmberFire:在保存记录完成时获取由Cloud Function生成的属性
这是我的云功能代码的样子:
exports.generateUrl = functions.database.ref('/tournaments/{tid}')
.onWrite(event => {
if (event.data.previous.exists()) {
return;
}
if (!event.data.exists()) {
return;
}
const url = shortid.generate();
return event.data.ref.update({ url });
});
这里是我的组件,通过表单提交的数据保存。我使用一个名为ember-changeset的插件来处理一些验证,但这不应该与问题有关。
export default Ember.Component.extend({
submit(e) {
e.preventDefault();
let snapshot = this.changeset.snapshot();
return this.changeset
.cast(Object.keys(this.get('schema')))
.validate()
.then(() => {
if (this.changeset.get('isValid')) {
return this.changeset
.save()
.then((result) => {
// Here, result.get('url') is undefined.
})
}
})
}
});