渲染 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 文件

在翡翠中渲染单个块

express常用插件

由于异步 JSON 加载,Vue.js 错误 [渲染根实例时出错]

jade 渲染js片段

如何在 Jade 中渲染对象数组