Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript Express Basics Using Templates with Express Review Response.render

Kyle Johnson
Kyle Johnson
33,527 Points

Pass the posts object to your template, naming it "posts".

I think this code challenge is incorrect but maybe I'm missing something. Here is my code.

app.js
const express = require('express');
const posts = require('./mock/posts.json');

const app = express();

app.set('view engine', 'pug');
app.set('views', __dirname + '/templates');

app.get('/', (req, res) => {
  res.render('main', {posts: "posts"});
});


app.listen(3000, () => {
  console.log("The frontend server is running on port 3000!");
});
Benny Ogidan
Benny Ogidan
17,948 Points

Remove the semi colon as we are taking the variable from app.js

6 Answers

Kyle Johnson
Kyle Johnson
33,527 Points

So it looks like the correct answer is:

res.render('main', {posts});

You need to pass the 'variable' and not the string "posts", below is what is needed:

res.render('main', {posts: posts});
Seth Kroger
Seth Kroger
56,403 Points

You should be passing the variable posts defined at the top, not the string "posts".

Kyle Johnson
Kyle Johnson
33,527 Points

With the below code, the code challenge states the quoted below. I feel like this needs to be updated since that does help.

Bummer! missing ) after argument list.

res.render('main', post: "posts");

Here is what I did:

res.render('main', {posts: posts});
John Lukacs
John Lukacs
26,210 Points

Nothing is working can you post your code that worked to pass the challenge

John Lukacs
John Lukacs
26,210 Points

if you look at this line of code should there not be an extra bracket added ~app.get('/', (req, res)~