2016-10-02 71 views
0

我打約與SailsJS和我有以下看法:SailsJS傳遞數據,查看 - 未定義

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

用下面的控制器:

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

和路由:

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

當導航到這個真的簡單的設置,我得到以下內容:

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) 

任何人都可以解釋我做錯了什麼?謝謝!

編輯 - 我要指出,我已經試過各種形式的req.param('category')req.params.category等等...

+0

我無法用您提供的代碼重現此問題 - 它對我來說看起來不錯。你使用的是什麼版本的Sails? – sgress454

回答

0

而不是使用

req.param('category') 

req.params.id 

應該解決你的問題。然而req.param('category')應該也能工作,並且從你的代碼我看不出爲什麼它不應該工作。

+0

對不起。複製粘貼錯誤。現在是整個類別。我改變了它的情況下類型被保留,並沒有看到,它被覆蓋。我會編輯。 – LokiSinclair

+0

@LokiSinclair好的,編輯我的答案。 –