我必须做错事,但我看不到......基本上如果我通过sails generate controller products文件创建一个控制器/模型,/controllers/ProductsController我会在索引操作中添加一些变量,例如:
index: function(req, res) {
return res.view({
myOne: 'World?',
myvar: 'hello???',
title: 'Yeap'
})
},
Run Code Online (Sandbox Code Playgroud)
当我检查localhost:1337/products时,变量确实在模板中打印出来.请注意,我没有添加自定义视图,我的模板文件位于views/products/index.jade(我使用的是Jade而不是EJS).但是,如果我创建一个自定义视图,/config/routes例如:
'/custom': {
view: 'custom',
controller: 'ProductsController',
action: 'customAction'
}
Run Code Online (Sandbox Code Playgroud)
在我的ProductsController中,我有一个非常类似的操作,如前所述:
customAction: function(req, res) {
return res.view({
myOne: 'Hello?',
myvar: 'World???',
title: 'Yeap'
})
},
Run Code Online (Sandbox Code Playgroud)
变量不会打印在我的模板中.该模板被称为正常,所以是控制器和动作(似乎).谁能解释我做错了什么?
customAction.jade如果要通过以下方式访问视图,可以选择将视图命名为与操作相同的名称:
index: function(req, res) {
return res.view({
myOne: 'World?',
myvar: 'hello???',
title: 'Yeap'
})
},
Run Code Online (Sandbox Code Playgroud)
或者您可以使用以下语法访问相同的视图/模板(例如index.jade):
customAction: function(req, res) {
return res.view('products/index', {
myOne: 'World?',
myvar: 'hello???',
title: 'Yeap'
})
},
Run Code Online (Sandbox Code Playgroud)
我在这里使用ejs有一个工作回购.
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |