Knex / Jade:无法读取未定义的属性“ length”

凯隆

尝试切换出Mongo并放入Postgres(换句话说,类似的代码在Mongo中可以正常工作)。获取Cannot read property 'length' of undefined以下代码。我敢肯定这很简单,但是我是整个堆栈的新手,所以很难将它们绑在一起。在knex上没有很多示例,因此即使文档相当不错,我也很难找到要复制的示例。

我显然是在提取正确的数据,但仍然坚持如何使玉显示出来。

堆栈:Node / Express / Knex / Postgres / Jade

users.js

router.get('/', function(req, res, next) {
  db.select().from('users').limit(1)
    .then(function(users) {
        console.dir(users)})
    .then(function(users) {
        res.render('users', {users: users})})
    .catch(function(error) {
        console.error(error)
  })
});

users.jade

extends layout

block content
  h1 Users
  ul
    for user in users
      p 
        input(type="text", name="name", value="#{user.name}")
        input(type="text", name="admin", value="#{user.admin}")
        input(type="text", name="smsNumber", value="#{user.smsNumber}")

安慰

[ { uid: 1,
    name: 'Don',
    admin: 'true',
    smsNumber: '4077023951',
    created_at: null,
    updated_at: null } ]

浏览器位于localhost:3000 / users

C:\Users\dvande03\Personal\dailychallenge\views\users.jade:6 4| h1 Users 5| ul > 6| for user in users 7| p 8| input(type="text", name="name", value="#{user.name}") 9| input(type="text", name="admin", value="#{user.admin}") Cannot read property 'length' of undefined

TypeError: C:\Users\dvande03\Personal\dailychallenge\views\users.jade:6
    4|   h1 Users
    5|   ul
  > 6|     for user in users
    7|       p 
    8|         input(type="text", name="name", value="#{user.name}")
    9|         input(type="text", name="admin", value="#{user.admin}")

Cannot read property 'length' of undefined
    at eval (eval at <anonymous> (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:218:8), <anonymous>:51:31)
    at eval (eval at <anonymous> (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:218:8), <anonymous>:106:4)
    at eval (eval at <anonymous> (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:218:8), <anonymous>:119:22)
    at res (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:219:38)
    at Object.exports.renderFile (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:380:38)
    at Object.exports.renderFile (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:370:21)
    at View.exports.__express [as engine] (C:\Users\dvande03\Personal\dailychallenge\node_modules\jade\lib\index.js:417:11)
    at View.render (C:\Users\dvande03\Personal\dailychallenge\node_modules\express\lib\view.js:126:8)
    at tryRender (C:\Users\dvande03\Personal\dailychallenge\node_modules\express\lib\application.js:639:10)
    at EventEmitter.render (C:\Users\dvande03\Personal\dailychallenge\node_modules\express\lib\application.js:591:3)
    at ServerResponse.render (C:\Users\dvande03\Personal\dailychallenge\node_modules\express\lib\response.js:961:7)
    at C:\Users\dvande03\Personal\dailychallenge\routes\users.js:11:13
    at tryCatcher (C:\Users\dvande03\Personal\dailychallenge\node_modules\bluebird\js\main\util.js:24:31)
    at Promise._settlePromiseFromHandler (C:\Users\dvande03\Personal\dailychallenge\node_modules\bluebird\js\main\promise.js:454:31)
    at Promise._settlePromiseAt (C:\Users\dvande03\Personal\dailychallenge\node_modules\bluebird\js\main\promise.js:530:18)
    at Promise._settlePromises (C:\Users\dvande03\Personal\dailychallenge\node_modules\bluebird\js\main\promise.js:646:14)
断层

res.render应该看起来像这样:res.render(view [, locals] [, callback]),其中locals是一个对象,其属性定义了视图的局部变量。在您的情况下,这意味着将渲染的行更改为:

res.render('users', {users: users})

您传递带有局部变量的对象以进行渲染。在玉文件中,当您要引用值时,可以使用对象中的键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法读取未定义的属性“ length”

来自分类Dev

无法读取未定义的node.js的属性“ length”

来自分类Dev

DataTables无法读取未定义的属性“ length”

来自分类Dev

未捕获的TypeError:无法读取未定义的属性“ length”

来自分类Dev

JQuery Datatable错误“无法读取未定义的属性'length'”

来自分类Dev

'无法读取未定义'nodeJS的属性'length'

来自分类Dev

.ajax JSON TypeError:无法读取未定义的属性“ length”

来自分类Dev

(Angular http $):无法读取未定义的属性“ length”

来自分类Dev

出现此错误:无法读取未定义的属性“ length”

来自分类Dev

express :: server :: routerTypeError:无法读取未定义的属性“ length”

来自分类Dev

TypeError:无法读取ReactDataGrid中未定义的属性'length'

来自分类Dev

TypeError:无法读取未定义的API TMDB的属性'length'

来自分类Dev

npm过时的错误无法读取未定义的属性“ length”

来自分类Dev

AngularJS Factory $ http无法读取未定义的属性“ length”

来自分类Dev

无法读取未定义的属性“ length”:数据表

来自分类Dev

JQuery Datatable错误“无法读取未定义的属性'length'”

来自分类Dev

(Angular http $):无法读取未定义的属性“ length”

来自分类Dev

Knex:如何在 ARM 上修复“无法读取未定义的属性‘原型’”以进行初始设置

来自分类Dev

访问cart.order_items.length给出TypeError:无法读取未定义的属性'length'

来自分类Dev

React无法读取未定义的属性“ length”,但已定义数组

来自分类Dev

定义var后出现“未捕获的TypeError:无法读取未定义的属性'length'”

来自分类Dev

NV.D3无法读取未定义的属性“ length”

来自分类Dev

Select2.js错误:无法读取未定义的属性“ length”

来自分类Dev

预先输入的角度ui-无法读取未定义的属性'length'

来自分类Dev

AngularJS-Bootstrap TypeAhead中的错误:TypeError:无法读取未定义的属性“ length”

来自分类Dev

使用Highcharts格式化程序会导致无法读取未定义的属性“ length”

来自分类Dev

Uncaught TypeError:无法读取未定义的属性“ length”-JSON / JQUERY / Data.error

来自分类Dev

未捕获的TypeError:无法读取未定义的Google Map V3的属性“ length”

来自分类Dev

Uncaught TypeError:即使命名正确,也无法读取未定义错误的属性“ length”

Related 相关文章

  1. 1

    无法读取未定义的属性“ length”

  2. 2

    无法读取未定义的node.js的属性“ length”

  3. 3

    DataTables无法读取未定义的属性“ length”

  4. 4

    未捕获的TypeError:无法读取未定义的属性“ length”

  5. 5

    JQuery Datatable错误“无法读取未定义的属性'length'”

  6. 6

    '无法读取未定义'nodeJS的属性'length'

  7. 7

    .ajax JSON TypeError:无法读取未定义的属性“ length”

  8. 8

    (Angular http $):无法读取未定义的属性“ length”

  9. 9

    出现此错误:无法读取未定义的属性“ length”

  10. 10

    express :: server :: routerTypeError:无法读取未定义的属性“ length”

  11. 11

    TypeError:无法读取ReactDataGrid中未定义的属性'length'

  12. 12

    TypeError:无法读取未定义的API TMDB的属性'length'

  13. 13

    npm过时的错误无法读取未定义的属性“ length”

  14. 14

    AngularJS Factory $ http无法读取未定义的属性“ length”

  15. 15

    无法读取未定义的属性“ length”:数据表

  16. 16

    JQuery Datatable错误“无法读取未定义的属性'length'”

  17. 17

    (Angular http $):无法读取未定义的属性“ length”

  18. 18

    Knex:如何在 ARM 上修复“无法读取未定义的属性‘原型’”以进行初始设置

  19. 19

    访问cart.order_items.length给出TypeError:无法读取未定义的属性'length'

  20. 20

    React无法读取未定义的属性“ length”,但已定义数组

  21. 21

    定义var后出现“未捕获的TypeError:无法读取未定义的属性'length'”

  22. 22

    NV.D3无法读取未定义的属性“ length”

  23. 23

    Select2.js错误:无法读取未定义的属性“ length”

  24. 24

    预先输入的角度ui-无法读取未定义的属性'length'

  25. 25

    AngularJS-Bootstrap TypeAhead中的错误:TypeError:无法读取未定义的属性“ length”

  26. 26

    使用Highcharts格式化程序会导致无法读取未定义的属性“ length”

  27. 27

    Uncaught TypeError:无法读取未定义的属性“ length”-JSON / JQUERY / Data.error

  28. 28

    未捕获的TypeError:无法读取未定义的Google Map V3的属性“ length”

  29. 29

    Uncaught TypeError:即使命名正确,也无法读取未定义错误的属性“ length”

热门标签

归档