我在(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个局部变量,然后用这些值保存它?