Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding the ContextID to a template name breaks Jade template extension #110

Open
Tharabas opened this issue Nov 24, 2011 · 1 comment
Open

Comments

@Tharabas
Copy link

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

html
  head
    block head
  body
    block content

extension.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?

@Hypee
Copy link

Hypee commented Jan 24, 2012

Hi,

It also seems to me that any Jade error is hidden behind this ENOENT error.

According to the comments in zappa/src/zappa.coffee (line 271), adding the contextId is needed to let Express use inline views defined in the application.

On my side, I temporarily commented line 445 in zappa/lib/zappa.js to be able to see Jade errors.
//args[0] = context.id + '/' + args[0];

I guess checking if the view file exists and only transmit contextId if it doesn't should be a clean workaround.

Make sense ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants