我正在使用 Sails v11。
我每个租户都有一个模型(它是一个 Multi-Tenancy 应用程序),根据 Controller 内部的逻辑选择用于确定租户的操作,我正在尝试创建“tenantID”/“模型”的 HashMap 对来实现这一点。我可以在 Controller 内部执行此操作,但是因为我不想为每个操作创建一个 hashMap,所以我试图在配置文件中构建此映射,并且我打算将其导出以在 Controller 中使用。
但我无法访问 Controller 外部的模型来创建此 HashMap 。
我在 this 找到了关于此的讨论链接。
但是,建议的方法不起作用。
var map = new Map();
map.set('item1', Foo)
module.exports.modelMap = {
productMap: map;
}
我收到这些语法错误。
map.set('item1', Foo) --> ReferenceError: Foo is not defined
map.set('item1', sails.models.Foo) --> ReferenceError: sails is not defined
map.set('item1', sails.models['Foo']) --> ReferenceError: sails is not defined
将模型名称设为小写会产生相同的错误。
firstuser@ubuntu:~/project-dir$ npm --version sails
2.14.7
firstuser@ubuntu:~/project-dir$ sails --version
0.11.2
firstuser@ubuntu:~/project-dir$
您能否建议在版本 0.11 中访问 Controller 外部模型的正确方法。
最佳答案
默认情况下,Sails 的模型是全局的。要在您的代码中访问 Foo(在 Controller 之外),您可以使用 sails global variable .您可以在 config/globals.js 文件中更改此行为。
sails.models.model
如果是 Foo:
sails.models.foo; //note the lowercase
关于javascript - 如何在 Sails 中访问 Controller 外部的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33866668/