2015-09-06 4 views
1

Salut, je suis rendu jade du nœud par cetteImpossible de lire la propriété « longueur » d'un tableau envoi non défini de noeud à jade

router.get("/register", function (req, res) { 
    var countries = [1, 2, 3]; 
    res.render("./account/register", { 
     countries: countries 
    }); 
}); 

et voici mon modèle de jade

extends ../layout 
block content 
    each val,t in countries 
     p= val 

et il obtient error Impossible de lire la propriété 'length' de undefined J'utilise express 4x, j'essaie de résoudre ce problème presque 2 jours

+0

Veuillez vérifier le chemin du fichier de rendu. Assurez-vous également que l'indentation est correcte dans le fichier Jade. –

Répondre

1

Je pense qu'il devrait être comme:

res.render("./account/register", { 
     "countries": countries 
    }); 

clé de JSON doit être entre guillemets.

+0

vous m'avez sauvé la vie: D –

+0

cela a-t-il fonctionné pour vous? – Abie

+0

oui cela a fonctionné pour moi –

0

J'ai eu le même problème. J'ai eu le problème sur Chromium et Opera mais pas sur Firefox. C'était une erreur dans Jade impliquant l'héritage de Template. Sans héritage fonctionne. Après le changement à Pug tout fonctionne bien (voir: Pug with Express).

+0

Une autre raison pour une telle erreur peut être "juste" un espace supplémentaire avant la nouvelle ligne dans le modèle de jade - juste une discordance d'indentation. – rperlinski