justjs icon indicating copy to clipboard operation
justjs copied to clipboard

Cannot call method 'unshift' of undefined

Open shadowmedia opened this issue 13 years ago • 2 comments

The page() function in app.js makes the data.slots.crumbs get lost (which is used in layout.ejs). The page() function should read as follows:

function page(req, res, template, data)
{
  _.defaults(data, { slots: {} });
  _.defaults(data.slots, {crumbs: [], user: req.user, session: req.session });
  res.send(view.page(template, data));
}

instead of

function page(req, res, template, data)
{
  _.defaults(data, { slots: {} });
  _.defaults(data.slots, {user: req.user, session: req.session });
  res.send(view.page(template, data));
}

shadowmedia avatar Jul 29 '12 12:07 shadowmedia

Hmm, which installment (subdirectory of examples/) are you looking at here? Or are you talking about the production version?

boutell avatar Jul 29 '12 13:07 boutell

Blog 5 (but I see the same code is still in blog 6).

For the record: I'm just following the blogposts, so perhaps I missed something else.

Here's the stacktrace for more information:

undefined:24
  throw err;
        ^
TypeError: ejs:2
    1| <!DOCTYPE html>
 >> 2| <% slots.crumbs.unshift({'title': 'Home', 'href': '/'}) %>
    3| <html lang="en">
    4| <head>
    5|   <meta name="viewport" content="width=device-width, initial-scale=1.0" />

Cannot call method 'unshift' of undefined
    at Object.<anonymous> (eval at <anonymous> (C:\Users\shadowmedia\node_modules\ejs\lib\ejs.js:209:12))
    at Object.layout (C:\Users\shadowmedia\node_modules\ejs\lib\ejs.js:211:15)
    at Object.partial (C:\Users\shadowmedia\Documents\node\blog6\view.js:78:30)
    at Object.page (C:\Users\shadowmedia\Documents\node\blog6\view.js:36:17)
    at page (C:\Users\shadowmedia\Documents\node\blog6\app.js:150:21)
    at C:\Users\shadowmedia\Documents\node\blog6\app.js:33:9
    at C:\Users\shadowmedia\Documents\node\blog6\db.js:50:9
    at C:\Users\shadowmedia\node_modules\mongodb\lib\mongodb\cursor.js:133:9
    at C:\Users\shadowmedia\node_modules\mongodb\lib\mongodb\cursor.js:173:11
    at C:\Users\shadowmedia\node_modules\mongodb\lib\mongodb\cursor.js:467:35

shadowmedia avatar Jul 29 '12 13:07 shadowmedia