I dont know how to render a object from express into a Ejs file

Viewed 19

I am simply trying to render a user to ejs file. Before i render data from database

here is the code


 const express = require('express')

const app  = express()

const path = require('path')

const ejs = require('ejs')

app.set('view engine','ejs')

var MongoClient = require('mongodb').MongoClient;

const mongoose = require('mongoose')

const messageSchema = {
    name:String,
    message:String
}
app.use(express.json());

app.use(express.urlencoded({ extended: true })); 

app.use(express.static("views"));

app.get('/',(req,res)=>{

    res.render(path.join(__dirname,'views','index.ejs'))
})
app.get('/form',(req,res)=>{
    res.render(path.join(__dirname,'views','form.ejs'))
})

app.use(express.urlencoded({ extended:false }))

const Message = mongoose.model('Message',messageSchema)



app.post('/form',function(req,res){

    let newMessage = new Message({

        name:req.body.name,
        message:req.body.message

    })

    console.log(newMessage)

    newMessage.save()

   res.redirect('/')
})

app.get('/form',(req,res) => {

    res.render('form', { user:"FILIP"})
})


app.listen(3000)   



Problem is i get an error that user is not defined.I wathced tutorials and watched trough forums and everybody has the same syntax as me . I dont know where problem might be. If you could help me i would be glad.

0 Answers
Related