5

我有一个看起来像这样的控制器。

module.exports = {

    readbyslug: function (req, res) {
    var slug = req.param('id');
    Store.findOneByName(slug.split('-').join(' '))
      .then(function(err, store){
      if(err)
        res.send({status:'error', msg:'no store'});
      res.send(store);

    });
  }
};

但是,我宁愿不在控制器中进行所有这些登录,我宁愿将它们放在另一个模块中。

我的问题是,如何访问模型?他们是全球性的还是什么?

4

1 回答 1

17

Chadams——模型默认是全局的。所以如果你这样做了sails generate model foo,你可以Foo在你的代码中访问。如果您不想以这种方式访问​​它们,则可以使用sails对 access 的引用sails.models.foo,这也是一样的。

希望有帮助!

顺便说一句,这种自动全球化可以通过自定义来禁用。例如: sails.config.globals

// To configure what's available globally, make a new file, `config/globals.js`
// with the following contents:

// In this example, I'll disable globalization of models, as well as _ and async.
// (But I'll leave the `sails` global available.)

// Variables which will be made globally accessible to the server process
module.exports.globals = {
  _ : false,
  async: false,
  models: false,
  sails: true
};
于 2013-09-06T11:52:25.270 回答