我需要通过选择保存两个模型之间的关系。 我的模特:
`import DS from 'ember-data'`
Animal = DS.Model.extend {
name: DS.attr 'string'
nameEng: DS.attr 'string'
animalType: DS.belongsTo 'animalType'
}
`export default Animal`
`import DS from 'ember-data'`
AnimalType = DS.Model.extend {
title: DS.attr 'string'
animals: DS.hasMany('animal')
}
`export default AnimalType`
路线:
AnimalsNewRoute = Ember.Route.extend
model: -> @store.createRecord 'animal'
控制器:
AnimalsNewController = Ember.ObjectController.extend
animalTypes: (->
@store.find 'animalType'
).property()
actions:
createAnimal: ->
@get('model').save().then (animal) =>
console.log(animal.id)
我选择的徽章:
= view "select" content=animalTypes optionValuePath="content.id" optionLabelPath="content.title"
在服务器上我得到了这个json:
{
"animal"=>{
"name"=>"some string",
"name_eng"=>"some string",
"animal_type_id"=>nil
}
}
如何设置动物类型?
答案 0 :(得分:0)
在我看来,你在Em.Select上缺少绑定选定值。 你能尝试绑定吗?
view "select" value=model.animalType content=animalTypes optionValuePath="content.id" optionLabelPath="content.title"
答案 1 :(得分:0)
对我来说,这个解决方案有效:
view "select" selection=model.animalType content=animalTypes optionValuePath="content.id" optionLabelPath="content.title"
使用selection
代替value
。