Mongoose / Express / Nodejs尝试从服务器传递一个variables到html

我试图从我的server.js文件传递一个variables到HTML,但variables不会显示在我的EJS文件。 我一定会错过一些东西,因为它正在另一个路线(与另一个EJS文件),但我看不到我想要通过的forms或variables。 如果我把表单之外的任何东西都显示出来,但表单本身不会显示出来,我可以从我的服务器console.log,它显示我从我的模型findvariables,它通过callback错误testing。 我已经尝试使用工作EJS代码的forms,并不会显示。 再次,它是去正确的地方,因为我可以把任何东西以外的forms。

此外,我没有得到一个错误,表单或variables只是不显示在EJS文件中。 如果我更改了我的<%%>标签内的任何内容(如下所示):

<% for(var i=0;i<turtles.length;i++){ %> 

它导致一个错误说(例如)乌龟(/例)没有定义。 所以它知道它在那里。

先谢谢你。

我的server.js文件:

 edit: function(req, res){ Turtle.findOne({_id: req.params.id}, function(err, turtle){ if(err){} else{ console.log(turtle._id); res.render("edit", {turtles:turtle})} }) }, 

我的edit.ejs:

 <% for(var i=0;i<turtles.length;i++){ %> <h3><%= turtles[i].name %></h3> <form action='/turtles/<%= turtles[i]._id %>' method='post'> <p>Name: <input type='text' name='name' value="<%= turtles[i].name %>"></p> <p>Favorite color: <input type='text' name='favecolor' value="<%= turtles[i].favecolor %>"></p> <p><input type='submit' value='Edit'></p> </form> <% } %> 

你正在使用mongo驱动程序的findOne方法,它返回一个单独的文档,一个对象,如果你想要的结果是有一个数组,允许迭代在.ejs模板中,尝试使用find