Sails.js相当于Rails before_save?

时间:2015-12-17 20:57:50

标签: javascript ruby-on-rails sails.js

我在(http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

之前完成了一些铁路回调

我想在保存模型(图像)之前调用一个函数,该模型将获得该图像的宽度/高度,然后再将其保存到数据库中。使用此功能:

function getMeta(url){
  var img = new Image();
  img.onload = function(){
    s = {w :this.width, h:this.height;}
  };
  img.src = url;
  return s;
}

module.exports = {

  attributes: {
    source: {
      type: 'string',
      required: true
    },
    height: {
      type: 'string',
      defaultsTo: getMeta(this.source).h
    },
    width: {
      type: 'string',
      defaultsTo: getMeta(this.source).w
    }

  }
};

缺点是,1)它不起作用; 2)我将该函数调用两次。

有没有办法在创建之前调用该函数,设置2个局部变量,然后用这些值保存它?

1 个答案:

答案 0 :(得分:0)

Sails.js有Lifecycle Callbacks,其中包含beforeUpdatebeforeCreate