我如何使用Geddy Model Events?

我是geddy的新手,我对如何使用模型事件感到困惑。

我的模型有一个slug字段,我想在保存任何logging之前生成slug(基于它们input的名字)。

换句话说,我该怎么做geddy?

导轨模型:

before_save :generateSlug private: def generateSlug self.slug = self.name.parameterize end 

示例模型代码:model / page.js

 slugify = require('slug'); var Page = function(){ this.defineProperties({ slug: {type: 'string'}, name: {type: 'string', required: true} }); this.beforeSave = function(){ this.slug = slugify(this.name); } } exports.Page = Page; 

当我运行p = geddy.model.Page.create({name: 'hello world'});p.save(function(e,d){ console.log(d); }) slug是未定义的

您可以使用beforeValidate生命周期方法来执行此操作。

尝试这个:

 this.beforeValidate = function () { this.slug = slugify(this.name); }; 

注意:在Model@0.3.2之前,这并没有工作,对于不一致的生命周期方法有一个错误修正。