mauricemach/zappa — Issue #110: Adding the ContextID to a template name breaks Jade template extension
Author: Tharabas
Created: 2011-11-24 22:33:27+00:00
State: open

Hi Folks,

As with Zappa 0.3.x using `@render` together with an extending Jade Template will result in an ENOENT Error.
Using `@response.render` will work though.

It took me a while to nail it down to this line:
https://github.com/mauricemach/zappa/blob/master/src/zappa.coffee#L274
In the long run it changes the value for filename being passed to jade,
such that the `contextId` is prepended to the templates name.
As the `extend` option in Jade templates uses the filename to determine the base file,
it will look up the modified filename and obviously not be able to find the required base template.

Example:

base.jade

```jade
html
head
block head
body
block content
```

extension.jade

```jade
extends base
block content
p some text here
```

So now when processing with `contextId = 12345` jade will lookup _path/to/views/12345/base.jade_ instead of _path/to/views/base.jade_

I hope that's clear enough ;)

Does anyone have a clue how to fix this other than using `@response.render`?