Skip to main content

How to pass variables to res.render() in Node.js

I was trying to figure out how to render a view inside a view, as I was stuck with this issue.

Horrible Effects of Misplaced Extensions ;)


I was using Node.js platform with ejs template engine.

My index.ejs file has an included header.ejs file.
Everything works well except that I can't pass values to the variable status in header.ejs.

Here is my abstract code...

index.ejs


<html>
.
.
<title> <%= title %> </title>
.
.
<% include ../partial/header.ejs %>
.
.
</html>
view raw index.ejs hosted with ❤ by GitHub


header.ejs


<header>
.
.
<p>logged in status: <%= status %> </p>
.
.
</header>
view raw header.ejs hosted with ❤ by GitHub


app.js


.
.
.
app.get('/', function(req, res)
{
// not working :(
res.render('index', {
"status":"loggedin",
"title":"home"
});
});
.
.
.
view raw app.js hosted with ❤ by GitHub

The most funniest solution ever!


The solution is as easy as this.
Just remove .ejs extension from the include command.
I spent at least an entire night to figure it out.

Comments

Post a Comment

Popular posts from this blog

Talky Messenger Documentation & Setup

( Github ) Just created a chat app that runs in Node and Socket. the attempt was worthy. Talky is a messenger app built with Node, Express, Socket, Angular & Bootstrap. It's like a server-client structure. (But obviously not like the one we done at OS lab using shared memory). It has a broadcasting structure. Talky does not keep a log on chat. i.e., It doesn't have a memory or database. When we close the browser window, chat history is lost. There I also added a basic console, protected by a password, to send real-time notifications to active clients. The name 'Talky' was suggested by a friend of mine. (hey, thank you for that. The fact is that I am not really good at naming...😝) What if sometimes your college blocks WhatsApp? Try Talky. ( There is also a website on internet in the name of 'Talky' which has no connection with this one. ) Download Talky Messenger To use Talky, all you need is 3 things: Node server Source code...

4 tiny questions you fail easily.

Below are four (4) questions and a bonus question. You have to answer them instantly. You can't take your time, answer all of them immediately. OK?        Let's find out just how clever you really are .     Ready?  GO!!! (Scroll down)  Question 1 : You are participating in a race. You overtook the second person. What position are you in?  ......  ......  ......  ......  ......  ......  ......  ......  ......  ......   ......   ......   ......   ......   ......   ......   ......  ......  ......  ......  -first?, lol absolutely wrong! -If you overtake the second person and you take his place, you are second!  Try not to screw up in the next question.  ...