gpt4 book ai didi

javascript - 我们可以在 sails 中的 Create() 回调之后/之前更改属性值吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:35 24 4
gpt4 key购买 nike

我有一个场景,我必须用它的 id 填充模型的属性。例如..在用户模型中:

module.exports = {
attributes: {
activation_link: "string"
},
afterCreate: function(value, cb) {
value.activation_link = "localhost:1337/user/action/"+ value.id;
cb();
}

activation_link 的修改值也必须保存在数据库中。如何实现?

最佳答案

根据 thisthis您的代码应该真正起作用:您在 afterCreate 中的操作应该会改变生成的对象。

更新

嗯...尽管有 what the documentation says,但第一个参数似乎不是 Waterline 对象.从技术上讲,您可以通过 id 从 DB 重新获取记录,更新和保存而无需大量开销(因为它应该只在创建时调用一次)。但我真的会避免在数据库中放入一个取决于记录 ID 的字段:这样的数据库变得不可传输,因为你不能保证记录将具有相同的 ID。因此,解决方案要么为这些激活链接使用一些 token (简洁的方式),要么只是使 activation_link 成为一个函数而不将其放入数据库(简单的方式):

module.exports = {
attributes: {
},
activation_link: function() {
if (!this.id)
return false;

return 'localhost:1337/user/action/' + this.id;
}
}

关于javascript - 我们可以在 sails 中的 Create() 回调之后/之前更改属性值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24059949/

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