渲染 Jade 文件时出错
Posted
技术标签:
【中文标题】渲染 Jade 文件时出错【英文标题】:Error In Rendering Jade Files 【发布时间】:2012-01-01 07:35:48 【问题描述】:渲染 Jade 文件时出现错误。我在 app.js 中使用的代码是:
app.get('/photos/new' function(req, res)
res.render('/photos/new',
locals:
photo: new Photo()
);
);
对应的Jade文件是:
h1 New Photo
form(action='/photos', method ='post', enctype ='form-data')
!= partial('../partials/photo_form', locals: photo: photo)
p
input(type = 'submit')
但我收到一条错误消息,说照片未定义。我不知道我在哪里做错了。请帮忙。
【问题讨论】:
【参考方案1】:局部中的本地人是隐含的,所以试试这个:
!= partial('../partials/photo_form', photo: photo)
【讨论】:
【参考方案2】:进行部分包含时,它指的是视图所在的当前目录..
所以您呈现的响应来自:
/views/photos/new.jade
对吗? 所以部分包含在 new.jade 文件中.. 这意味着如果你这样做
partial('../partials/photo_form','whatever':'whatever')
它正在寻找:
/views/partials/photo_form.jade
这是你所期待的吗? 因为如果它在
/views/photos/photo_form.jade
只做partials('photo_form','whatever':'whatever')
它会默认为父视图所在的目录。 http://expressjs.com/guide.html
并检查视图查找
干杯
【讨论】:
以上是关于渲染 Jade 文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
咕哝。包含子 (_*.jade) 时编译所有 .jade 文件