我如何使用Geddy模型活动

时间:2013-10-24 02:16:11

标签: node.js model geddy

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

我的模型有一个slug字段,我想在保存任何记录之前生成slug(基于他们输入的名称)。

换句话说,我怎么在geddy中这样做?

rails model:

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

示例型号代码:  模型/ 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未定义时

1 个答案:

答案 0 :(得分:1)

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

试试这个:

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

注意:这在Model@0.3.2之前不起作用,{{1}}对于不一致的生命周期方法有错误修正。