keystonejs 模式函数作为 public 函数
keystonejs schema function as public function
想使用 public 模式功能但不知道如何实现,
这是我的例子:
var Token = new keystone.List('Token', {});
Token.add({
uuid: { type: String, index: true },
state: { type: Types.Select, options: 'created, used', default: 'created' },
endDate: { type: Types.Date },
user: { type: Types.Relationship, ref: 'User' },
url: { type: String }
});
Token.schema.methods.getUrl = function () { /*DO something*/ }
比起我尝试在我的模块中调用 getUrl
var Token = modelUtils.promisifyModel(keystone.list('Token').model);
Token.getUrl();
然后我得到一个错误:Token.schema.methods 不是一个函数
很抱歉,modelUtils 是令牌对象的包装器,请返回一些 属性 包装器对象。我懒得检查整个代码(不是我的代码),但是如果我发现关于 modelUtils 的问题,我意识到这是扩展包装器 class 的关键.
我真的很抱歉,也为我的懒惰感到有点羞愧。
想使用 public 模式功能但不知道如何实现, 这是我的例子:
var Token = new keystone.List('Token', {});
Token.add({
uuid: { type: String, index: true },
state: { type: Types.Select, options: 'created, used', default: 'created' },
endDate: { type: Types.Date },
user: { type: Types.Relationship, ref: 'User' },
url: { type: String }
});
Token.schema.methods.getUrl = function () { /*DO something*/ }
比起我尝试在我的模块中调用 getUrl
var Token = modelUtils.promisifyModel(keystone.list('Token').model);
Token.getUrl();
然后我得到一个错误:Token.schema.methods 不是一个函数
很抱歉,modelUtils 是令牌对象的包装器,请返回一些 属性 包装器对象。我懒得检查整个代码(不是我的代码),但是如果我发现关于 modelUtils 的问题,我意识到这是扩展包装器 class 的关键. 我真的很抱歉,也为我的懒惰感到有点羞愧。