When I create a controller in sails.js with some standard method redefined, how do I call default parent method of this controller?
module.exports = {
create: function(req, res) {
//test some parameters
if (condition) {
//call regular super method, proceed as usual
//_super(); <- how to do this?
} else {
//do some other things
}
}
};
Update: for Sails >= v0.10.x, see the comment below from @naor-biton
If you want to access the default implementation (the blueprint), as of v0.9.3, you can call next()
(the third argument to your controller). This is because Sails is based on the Express/Connect concept of middleware, allowing you to chain things together.
Please note that this behavior may change in a subsequent version, since next()
is also how you call your default 404 handler (config/404.js
) for actions which don't have a blueprint underneath them.
A better approach, if you're interested in using the blueprints but running a bit of logic beforehand, is to leave the controller action undefined and use one or more policies, which will be run beforehand.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With