Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在SAIL中访问控制器外部的模型_Javascript_Node.js_Model_Sails.js - Fatal编程技术网

Javascript 如何在SAIL中访问控制器外部的模型

Javascript 如何在SAIL中访问控制器外部的模型,javascript,node.js,model,sails.js,Javascript,Node.js,Model,Sails.js,我用的是帆v11 我为每个租户都有一个模型(它是一个多租户应用程序),根据控制器内部的逻辑选择用于确定租户的操作,我正在尝试创建一个“tenantID”/“model”对的hashmap来实现这一点。我可以在控制器内完成这项工作,但是,由于我不想为每个操作创建hashMap,因此我尝试在配置文件内构建此映射,并打算将其导出以在控制器中使用 但我无法访问控制器外部的模型来创建此hashmap 我在这个链接上找到了一个讨论 然而,建议的方法不起作用 var map = new Map(); map.

我用的是帆v11

我为每个租户都有一个模型(它是一个多租户应用程序),根据控制器内部的逻辑选择用于确定租户的操作,我正在尝试创建一个“tenantID”/“model”对的hashmap来实现这一点。我可以在控制器内完成这项工作,但是,由于我不想为每个操作创建hashMap,因此我尝试在配置文件内构建此映射,并打算将其导出以在控制器中使用

但我无法访问控制器外部的模型来创建此hashmap

我在这个链接上找到了一个讨论

然而,建议的方法不起作用

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版控制器外部模型的正确方法。

Sails的模型默认为全局模型。要在代码中访问Foo(在控制器之外),可以使用。您可以在config/globals.js文件中更改此行为

sails.models.model
如果是Foo:

sails.models.foo; //note the lowercase

谢谢米格尔的回答。不行。未定义任何名称(Model,sails.models.Model,sails.models.Model)对不起,未定义(Model,sails.models.Model)且未为sails.models.Model()执行函数
find