如何在ember.js中创建belongsTo关系的记录

时间:2015-01-21 00:54:07

标签: ember.js ember-data

我需要通过选择保存两个模型之间的关系。 我的模特:

`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
            }
}

如何设置动物类型?

2 个答案:

答案 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