SailsJs res.render vs res.view
我正在尝试使用SailsJs来制作PassportJs + EJS模板引擎的简单身份validationWeb应用程序。
这是我在AuthenController.coffee中的代码
processSignin: (req, res) -> passport.authenticate('local', (err, user, info) -> if err or not user return res.view('auth/signin', message:'failed') req.logIn user, (err) -> return res.view('auth/signin', message:'failed') if err res.redirect '/' ) req, res return
如果我使用: res.render('/auth/login', { message:'err' })
浏览器只返回login.ejs的HTML代码
如果我使用: res.view('/auth/login', { message:'err' })
那么它会返回包裹在layout.ejs的<% – body%>中的login.ejs代码。
对于这个不同的任何解释? 它是Sails的新特性还是Express的内置特性? 在哪里可以find有关这方面的文件?
res.render
是一个expressJS方法 ,而res.view
是一个SailsJs方法 。 后者将请求的视图封装在默认布局中,除非请求了不同的布局。 所以你必须决定是否只需要你正在编译的模板( res.render
)或更完整的视图( res.view
)。