2

次の TypeError を引き起こし始めたこの jade テンプレートがあります。

TypeError: /home/jared/code/fiestah-admin/views/items.jade:11
    9|         a(href=urlFor('item details', {
    10|           params: {    
 \> 11|             //id: item._id
    12|           }
    13|         })) #{item.name}
    14|         .planner By

Cannot read property '_id' of null
    at list_mixin (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8))
    at list_mixin (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8))
    at eval (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8))
    at Object.exports.compile (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:181:12)
    at ServerResponse.res._render (/home/jared/code/fiestah-admin/node_modules/express/lib/view.js:425:21)
    at ServerResponse.res.render (/home/jared/code/fiestah-admin/node_modules/express/lib/view.js:318:17)
    at render (/home/jared/code/fiestah-admin/controllers/items-controller.js:23:7)
    at module.exports (/home/jared/code/fiestah-admin/controllers/items-controller.js:41:5)
    at Request._callback (/home/jared/code/fiestah-admin/node_modules/lib/libraries/api.js:95:5)
    at Request.init.self.callback (/home/jared/code/fiestah-admin/node_modules/request/main.js:120:22)

プロパティ について不平を言って_idいますが、実際には に関係しているとは思いませんitem._id。行をコメントアウトするか、id の前に別のパラメーターを追加すると、行番号が変わりますが、例外は同じままです。テンプレートで両方の参照を削除しまし_idたが、例外は同じです。

テンプレートは次のとおりです。

.page-header
  h1 Items

mixin list(items)
  hr
  ul.index
    - each item in items
      li
        a(href=urlFor('item details', {
          params: {
            id: item._id
          }
        })) #{item.name}
        .planner By
          | 
          a(href=urlFor('user details', {
            params: {
              id: item.planner._id
            }
          })) #{item.planner.name.full}

.row
  .span4
    h1 Open Items (#{openItems.length})
    mixin list(openItems)
.row
  .span4
    h1 Open Items - No Offers (#{emptyItems.length})
    mixin list(emptyItems)
.row
  .span4
    h1 Past Items (#{pastItems.length})
    mixin list(pastItems)

3 つの「アイテム」配列で何が渡されているかを確認しましたが、それらはすべて空であるか、_idフィールドを持つ有効なオブジェクトを含んでいます。配列の null メンバーはありません。

4

1 に答える 1

2

インライン コード内で、次の操作を行います。

.row
  .span4
    h1 Open Items (#{openItems.length})
      +dolist(openItems)

これではなく:

.row
  .span4
    h1 Open Items (#{openItems.length})
      mixin dolist(openItems)
于 2013-10-22T19:56:53.423 に答える