Füllen einer dropdown-Liste in form mit anderen Modellen Daten in nodejs

Ich versuche, füllen Sie eine dropdown-Liste für eine form für eines meiner Modelle (Autos), mit Daten aus einem anderen Modell (Farben), aber kann nicht scheinen, um herauszufinden, wie dies zu tun. Ich muss ja irgendwie rufen Sie die Liste der Farben in der dropdown-in den Autos.jade-Datei, so dass, wenn ein Benutzer wählt die auto-gefüllten Liste, ich muss die ObjectID der Wert der Sache (die später gespeichert wird, als ein neues Auto.

Autos Neue Form (Auto.jade):

/* This is the bit I'm having trouble with */
select(name='carColours')
  option(value='')
  each colour in colours
    - var select=null; if (colour.title == carColours.title) select='selected';
    option(value=colour._id, selected=select)= colour.title

Autos controller (cars.js):

exports.new = function(req, res){
  res.render('cars/new', {
    title: 'New Car',
    event: new Car({})
  })
}

Autos Modell - (car.js):

var CarSchema = new Schema({
  title: {type : String, default : '', trim : true},
  colour: {type : Schema.ObjectId, ref : 'Colour'},
})

Farben-Modell (colour.js)

var ColourSchema = new Schema({
  title: {type : String, default : '', trim : true},
  hexadecimal: {type : String, default : '', trim : true},
})

ColourSchema.statics = {

  list: function (options, cb) {
    var criteria = options.criteria || {}

    this.find(criteria)
      .sort({'title': 1}) //sort alphabetically
      .exec(cb)
  }

}
  • Bitte informieren Sie, wenn weitere Informationen erforderlich.
  • Wo ist der colours array in der Pflege.jade aus? Und welche Fehler sind Sie immer genau, wenn überhaupt?
  • Ich habe in der Farben-Modell (nicht-array) und aktualisiert die Beschreibung. Ich bin nicht wirklich immer alle Fehler noch nicht, wie ich don T wissen, wie man Ansatz die Lösung, die ist, warum ich gefragt wurde hier.
InformationsquelleAutor Matt Rowles | 2014-01-11
Schreibe einen Kommentar