Sails.js - la transmission des données à vue
J'ai récemment commencé à apprendre à l'utiliser Sails.js et je suis tombé sur un petit problème.
J'ai un modèle appelé Demandeur, comme suit:
module.exports = {
attributes: {
name: {
type: 'STRING',
required: true
},
email: {
type: 'STRING',
required: true
}
}
};
J'ai construit l'index d'action pour le retour de toutes les instances du Demandeur modèle:
module.exports = {
index: function(req, res) {
Applicant.findAll().done(function(err, applicants) {
res.view({
apps: applicants
});
});
}
};
Et c'est la vue que j'utilise:
<section id="applicants">
<h1>List of applicants</h1>
<ul>
<% for (applicant in apps) { %>
<li><%= applicant.name %> <%= applicant.email %></li>
<% } %>
</ul>
</section>
Encore, lorsque je charge l'URL correspondante, je ne peux pas voir mes données affichées.
J'ai lu le Sails.js de la documentation, mais je n'arrive pas à trouver quel est le problème avec mon code.
Ce serait génial si quelqu'un pouvait m'aider à résoudre ce problème.
Merci!
OriginalL'auteur vladzam | 2013-08-14
Vous devez vous connecter pour publier un commentaire.
Essayer
C'est comme
for
boucle fonctionne.applicant
est un index dansapps
tableau.Edit: Meilleure façon est d'utiliser javascript tableau est construit dans la méthode
forEach
, car de cette façon, vous évitez à vélo à travers les éléments, hérité deapps
's type (par exemple, les éléments, affecté comme ceci:apps.__proto__.foo = {name: "bar"}
ouArray.prototype.foo2 = {name: "pi222"}
).P. S. bien sûr, cela javascript la méthode
forEach
) ne fonctionne pas dans IE <= 8(si vous envisagez de l'utiliser dans le navigateur). Mais nous sommes à l'intérieur de NodeJs, qui est construit sur un moteur V8. Si cela fonctionne, de toute façon.OriginalL'auteur