javascript - 如何在 Sails 中访问 Controller 外部的模型

标签 javascript node.js model sails.js

我正在使用 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/

相关文章:

javascript - SlideToggle 状态不适用于多个框

javascript - gulp-run-sequence 没有完成任务

javascript - 正则表达式替换所有上标数字

javascript - process.stdin 流的可读事件和数据事件有什么区别?

python - Django 模型 - 字段依赖

ruby-on-rails - 如何翻译 Rails 引擎的模型和属性名称?

javascript - 是否可以将 Digest-Authentication 与 XMLHTTPRequest 一起使用?

javascript - 如何列出 MongoDB 数组内对象中的字段?

node.js - TypeScript 编译时找不到外部模块

mysql - devart dotConnect MySQL