2016-10-02 1 views
0

Ich spiele etwa mit SailsJS und ich habe die folgende Ansicht bekommt:SailsJS passieren Daten zu sehen - nicht definiert

<p>Products <%= category %></p> 

Mit dem folgenden Controller:

module.exports = { 
    get: function(req, res) { 
     res.view('pages/products', { 
      category: req.params.category 
     }); 
    } 
}; 

Und die Route:

'/products/:category': 'ProductsController.get', 

Wenn dieses wirklich einfache Setup navigieren, erhalte ich die folgenden:

error: Sending 500 ("Server Error") response: 
ReferenceError: /var/www/html/curioushaven/views/pages/products.ejs:1 
>> 1| <p>Products <%= category %></p> 
    2| 

category is not defined 
    at eval (eval at <anonymous> (/usr/lib/node_modules/sails/node_modules/ejs-locals/node_modules/ejs/lib/ejs.js:237:14), <anonymous>:30:54) 
    at eval (eval at <anonymous> (/usr/lib/node_modules/sails/node_modules/ejs-locals/node_modules/ejs/lib/ejs.js:237:14), <anonymous>:30:80) 
    at /usr/lib/node_modules/sails/node_modules/ejs-locals/node_modules/ejs/lib/ejs.js:250:15 
    at Object.exports.render (/usr/lib/node_modules/sails/node_modules/ejs-locals/node_modules/ejs/lib/ejs.js:288:13) 
    at Object.exports.renderFile (/usr/lib/node_modules/sails/node_modules/ejs-locals/node_modules/ejs/lib/ejs.js:318:20) 
    at SailsView.module.exports [as engine] (/usr/lib/node_modules/sails/node_modules/ejs-locals/index.js:85:7) 
    at SailsView.View.render (/usr/lib/node_modules/sails/node_modules/express/lib/view.js:76:8) 
    at Function.app.render (/usr/lib/node_modules/sails/node_modules/express/lib/application.js:561:10) 
    at ServerResponse.res.render (/usr/lib/node_modules/sails/node_modules/express/lib/response.js:845:7) 
    at ServerResponse.res.view (/usr/lib/node_modules/sails/lib/hooks/views/res.view.js:284:16) 
    at Object.module.exports.get (/var/www/html/curioushaven/api/controllers/ProductsController.js:10:7) 
    at wrapper (/usr/lib/node_modules/sails/node_modules/lodash/index.js:3095:19) 
    at routeTargetFnWrapper (/usr/lib/node_modules/sails/lib/router/bind.js:181:5) 
    at callbacks (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37) 
    at param (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11) 
    at param (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:135:11) 
    at pass (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5) 
    at nextRoute (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7) 
    at callbacks (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11) 
    at alwaysAllow (/usr/lib/node_modules/sails/lib/hooks/policies/index.js:224:11) 
    at routeTargetFnWrapper (/usr/lib/node_modules/sails/lib/router/bind.js:181:5) 
    at callbacks (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37) 

Kann mir jemand erklären, was ich falsch mache? Vielen Dank!

bearbeiten - Ich möchte darauf hinweisen, dass ich unterschiedlichen Formen von req.param('category') und req.params.category etc etc ...

+0

Ich kann dieses Problem mit dem Code nicht reproduzieren, den Sie zur Verfügung gestellt haben - es sieht a-ok zu mir aus. Welche Version von Sails benutzt du? – sgress454

Antwort

0

Statt mit

req.param('category') 

diese

req.params.id 

versucht haben, sollte dein Problem beheben. Allerdings sollte req.param('category') auch funktionieren und von Ihrem Code kann ich nicht sehen, warum es nicht funktionieren sollte.

+0

Entschuldigung. Kopieren Sie den Fehler beim Einfügen. Es ist jetzt überall Kategorie. Ich änderte es, falls der Typ reserviert war und nicht gesehen wurde, und er wurde überschrieben. Ich werde bearbeiten. – LokiSinclair

+0

@LokiSinclair okay, bearbeitet meine Antwort. –

Verwandte Themen