ExpressJS PUT method undefined objecty issue

I am trying to use the PUT method to update a record in my database, but I am running into a issue where the object is not defined.

ReferenceError: blogpost is not defined

I am referencing this tutorial with my routing steps and noticed that despite the variable being defined in my /blogs route, meaning that it is local to that function, that in the tutorial, they don't define the variable again when routing their put method. They simply call the object's property that they plan to update. Is there a reason why I'm not able to access this object? Is it a scope issue?

routes.js:

  var express = require('express');
    var router = express.Router();
    var blogDB = require('../config/blogDB.js');
    var Blogpost = require('./models/blogModel.js');

    //index
        router.route('/')
        .get(function(req, res) {
        var drinks = [
                {   name: 'Bloody Mary', drunkness: 3 },
                {   name: 'Martini', drunkness: 5 },
                {   name: 'Scotch', drunkness: 10}
            ];

            var tagline = "Lets do this.";

            res.render('pages/index', {
                drinks: drinks,
                tagline: tagline
            });
        });






    //blog
        router.route('/blog') 

            // START POST method
            .post(function(req, res) {

                var blogpost = new Blogpost(); // create a new instance of a Blogpost model

                blogpost.title = req.body.title; // set the blog title
                blogpost.content = req.body.content; // set the blog content

                    //Save Blog Post
                    blogpost.save(function(err) {
                        if (err)
                            res.send(err);

                        res.json({ message: 'Blog created.' });
                    });

            }) // END POST method


            // START GET method
            .get(function(req, res) {
                Blogpost.find(function(err, blogs) {
                    if (err)
                        res.send(err);

                    res.json(blogs);
                });
            }); // END GET method


        //Route for individual blogs
        router.route('/blog/:blogpost_id')

        // START GET method blog by ID  
        .get(function(req, res) {
            Blogpost.findById(req.params.blogpost_id, function(err, blog) {
                if (err)
                    res.send(err);
                res.json(blog);
            });
        }) // END GET method blog by ID

        // START PUT method
        .put(function(req, res) {

            Blogpost.findById(req.params.blogpost_id, function(err, blog) {

                if (err)
                    res.send(err);


                blogpost.title = req.body.title; // update the blog title
                blogpost.content = req.body.content; // update the blog content

                blogpost.save(function(err) {
                    if (err)
                        res.send(err);


                    res.json({ message: 'Blog updated.' });
                });

            });

        });


    //about
        router.get('/about', function(req, res) {
                res.render('pages/about');
        });


    module.exports = router;

Specific area where the issue is created:

// START PUT method
    .put(function(req, res) {

        Blogpost.findById(req.params.blogpost_id, function(err, blog) {

            if (err)
                res.send(err);


            blogpost.title = req.body.title; // update the blog title
            blogpost.content = req.body.content; // update the blog content

            blogpost.save(function(err) {
                if (err)
                    res.send(err);


                res.json({ message: 'Blog updated.' });
            });

        });

    });

Blogpost.findById(req.params.blogpost_id, function(err, blog) {

Should be:

Blogpost.findById(req.params.blogpost_id, function(err, blogpost) {