2012-03-10 14 views
5

Estoy tratando de usar el control Ember.Select para establecer una identificación de asociación en un modelo. Sin embargo, parece que no puedo obtener el control para vincular su selección a un atributo de ID en lugar de a todo el objeto modelo. ¿Esto es por diseño en el control Ember.Select? Tengo el siguiente en mi plantilla:Cómo utilizar Ember.Seleccione establecer ID de asociación

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.personId" 
     optionLabelPath="content.fullName" 
     optionValuePath="content.id"}} 

Sin embargo, incluso con la configuración de forma explícita a los selectionBinding personId atribuyen todavía parece ser la unión al objeto persona. jsFiddle completo aquí: http://jsfiddle.net/PXVZb/10/

+0

Parece que este comportamiento está destinado, consulte https://github.co m/emberjs/ember.js/blob/master/packages/ember-handlebars/lib/controls/select.js # L37 – pangratz

+0

Sí, se ve así, pero me hace preguntarme por qué el control acepta y el parámetro optionValuePath ... it parece que ese parámetro no tiene ningún efecto, o al menos no en mi jsFiddle. –

+1

'optionValuePath' le dice a la vista 'Ember.Select' qué propiedad tiene el valor en todas las etiquetas'

Respuesta

1

sugeriría a obligar a la persona seleccionada para su App.selectedPersonController y crear una propiedad personId que se une a las personas id, ver http://jsfiddle.net/PXVZb/11/

JS:

App.selectedPersonController = Ember.Object.create({ 
    personIdBinding: 'person.id' 
}); 

Manillar:

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.person" 
     optionLabelPath="content.fullName" }} 
Cuestiones relacionadas