2016-06-16 17 views
0

私はチュートリアルをフォローしていました。すべてが私には大丈夫です。それでも私はこのエラーが発生しています。ある人が正しい方向に向けることができますか?プロパティが定義されていませんejs:nodejs

memberNameのが定義されていない

<% for(var i=0; i < notes.length; i++) { %> 
     <div class="list-group-item"> 
      <div>Note from <em><strong><%=memberName[i]%></strong></em> on: 
      <%= createdOn.toDateString() %> 
       <strong><%= project[i] %></strong></div> 
      <div><strong>Work yesterday:</strong> 
      <%= workYesterday[i] %> 
      </div> 
      <div><strong>Work today:</strong> 
      <%= workToday[i] %> 
      </div> 
      <div><strong>Impediment:</strong> 
      <%= impediment[i] %> 
      </div> 
     </div> 
     <%}%> 

コントローラーコード:

exports.list = function (req, res) { 
    var query = Standup.find(); 
    query.limit(12) 
     .exec(function (err, results) { 
      console.log(results); 
      res.render('index', { title: 'Standup - List', notes: results }); 
     }); 
}; 

答えて

0

<%=memberName[i]%> EJSファイルでは、私はEJSを送るでしょとき、私は値であること置き換えるでしょう」という意味しますof memberName "と入力します。

しかし、あなたのコントローラでは、どのブロックを提供しているのかわかりません。コントローラで

、あなたのような何かを持っている必要があります。この1つは、固定された場合

res.render('index', { 
    title: 'Standup - List', 
    notes: results, 
    memberName: memberName //<-- 
}); 

を、あなたもcreatedOnprojectworkYesterdayworkTodayworkTomorrowimpedimentを提供しなければならないでしょう。

0

<%=は、HTMLの値を評価するためのEJSタグです。 <%= memberName %>は、変数memberNameの値をHTMLコードに出力します。したがって、htmlページをレンダリングしているときに、memberNameパラメータを渡す必要があります。あなたはパラメータを逃しました。 お使いのコントローラのコードは次のようになります。

exports.list = function (req, res) { 
    var query = Standup.find(); 
    query.limit(12) 
     .exec(function (err, results) { 
      console.log(results); 
      res.render('index', { title: 'Standup - List', notes: results, memberName: 'Test Member Name' }); 
     }); 
}; 
0

おそらく、この探している:

<% for(var i=0; i < notes.length; i++) { %> 
    <div class="list-group-item"> 
    <div>Note from <em><strong><%= notes[i].memberName %></strong></em> on: 
     <%= notes[i].createdOn.toDateString() %> 
     <strong><%= notes[i].project %></strong></div> 
    <div><strong>Work yesterday:</strong> 
     <%= notes[i].workYesterday %> 
    </div> 
    <div><strong>Work today:</strong> 
     <%= notes[i].workToday %> 
    </div> 
    <div><strong>Impediment:</strong> 
     <%= notes[i].impediment %> 
    </div> 
    </div> 
<%}%> 
さらにこれまで低減することができる

<% notes.forEach(function(note) { %> 
    <div class="list-group-item"> 
    <div>Note from <em><strong><%= note.memberName %></strong></em> on: 
     <%= note.createdOn.toDateString() %> 
     <strong><%= note.project %></strong></div> 
    <div><strong>Work yesterday:</strong> 
     <%= note.workYesterday %> 
    </div> 
    <div><strong>Work today:</strong> 
     <%= note.workToday %> 
    </div> 
    <div><strong>Impediment:</strong> 
     <%= note.impediment %> 
    </div> 
    </div> 
<% }) %> 
関連する問題