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 に答える