2014-09-26 21 views
1

我遇到了一個奇怪的問題,其中我的頁面被路由以提供關於我的主頁上的數據庫列表中的單個記錄的附加信息並未拉入位於我的樣式表中部分/頭部,但正確傳遞對象信息。我不確定爲什麼會這樣。不接受我的風格信息的具體路線是/ blog /:blog_id。EJS文件不渲染樣式表,儘管從模板部分餵食

routes.js

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

//index 
router.use(paginate.middleware(10, 50)); 

    router.route('/') 

     // 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.author = req.body.author; // set the author name 
      blogpost.tagline = req.body.tagline; // set the tagline 
      blogpost.content = req.body.content; // set the blog content 
      blogpost.category = req.body.category; // set the category 
      blogpost.tags = req.body.tags; // set the tags 
      blogpost.date = req.body.date; // set the date of the post 
       //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, next) { 

      Blogpost.paginate({}, req.query.page, req.query.limit, function(err, pageCount, blogpost, itemCount) { 

       if (err) return next(err) 

         if (err) 
          res.send(err); 

         blogpost.title = req.body.title; // get the blog title 
         blogpost.author = req.body.author; // get the author name 
         blogpost.tagline = req.body.tagline; // get tagline 
         blogpost.content = req.body.content; // get the blog content 
         blogpost.category = req.body.category; // get the category 
         blogpost.tags = req.body.tags; // get the tags 
         blogpost.date = req.body.date; // get the date of the post 

         res.format({ 
          html: function() { 
           res.render('pages/index', { 
            blogpost: blogpost, 
            pageCount: pageCount, 
            itemCount: itemCount 
           }) 
          }, 
          json: function() { 

           res.json({ 
            object: 'blogpost', 
            has_more: paginate.hasNextPages(req)(pageCount), 
            data: blogpost 
           }) 
          } 
         }); // END res.format(html, json) 
      }); // END Blogpost.paginate 
     }); // 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, blogpost) { 
      if (err) 
       res.send(err); 


      //res.json(blogpost); 
      res.render('pages/blogpost', { 
       blogpost: blogpost 
      }); 
     }); 
    }) // END GET method blog by ID 

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

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

      if (err) 
       res.send(err); 


      blogpost.title = req.body.title; // update the blog title 
      blogpost.author = req.body.author; // update the author name 
      blogpost.tagline = req.body.tagline; // update the tagline 
      blogpost.content = req.body.content; // update the blog content 
      blogpost.category = req.body.category; // update the category 
      blogpost.tags = req.body.tags; //update the tags 
      blogpost.date = req.body.date; // update the date of the post 


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


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

     }); 

    }) // END PUT method 

    // START DELETE method 
    .delete(function(req, res) { 

     Blogpost.remove({ 
      _id: req.params.blogpost_id 

     }, function(err, bear) { 
      if (err) 
       res.send(err); 

      res.json({ message: 'Successfully deleted' }); 
     }); 
    }); 



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

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



module.exports = router; 

部分/ head.ejs:

<title>Page - Title | Example</title> 

<link rel="stylesheet" type="text/css" href="stylesheets/simplegrid.css"> 
<link rel="stylesheet" type="text/css" href="stylesheets/styles.css"> 

頁/ blogpost.ejs:

<html> 
<head> 
    <% include ../partials/head %> 
</head> 

<body> 

    <header> 
     <% include ../partials/header %> 
    </header> 

    <div class="grid"> 
     <div class="col-1-1"> 
      <div class="blog-content"> 
       <h1><%= blogpost.title %></h1> 
      </div> 
     </div> 
    </div> 


    <footer> 
     <% include ../partials/footer %> 
    </footer> 

</body> 
</html> 

比較圖:

樣式發現當生成任何我的路線,除了/博客/:blog_id產生我的/博客/時發現

Style on every page.

風格:blog_id路線。

No style found for individual blogposts

回答

0

您需要/前面加上你的樣式表。

想象一下你在URL localhost/blog/test,瀏覽器將在localhost/blog/test/stylesheets/styles.css尋找樣式表。

通過添加/您正在爲它們提供根,localhost/stylesheets/styles.css