Ember.js 为什么';我的持久化模型是否具有从服务器返回的ID和其他属性?

Ember.js 为什么';我的持久化模型是否具有从服务器返回的ID和其他属性?,ember.js,ember-data,Ember.js,Ember Data,我正在尝试使用余烬数据(最新测试版,第6号)创建一个新记录。我似乎已经完成了大部分工作,但是创建和持久化新模型并不是在模型上设置从服务器返回的属性(包括id) 这是我控制器中的代码。 操作: 取消:-> @TransitionRoute('brews.index') 保存:(brew)-> self=这个 brew.save()。然后(-> console.log“Brew id为#{Brew.get('id')}” console.log“Brew效率为#{Brew.get('efficie

我正在尝试使用余烬数据(最新测试版,第6号)创建一个新记录。我似乎已经完成了大部分工作,但是创建和持久化新模型并不是在模型上设置从服务器返回的属性(包括id)

这是我控制器中的代码。

操作:
取消:->
@TransitionRoute('brews.index')
保存:(brew)->
self=这个
brew.save()。然后(->
console.log“Brew id为#{Brew.get('id')}”
console.log“Brew效率为#{Brew.get('efficiency')}”
self.transitionRoute('recipe',brew)
)
对于ID,输出控制台日志记录返回
null
,对于其他属性返回
undefined

我相信我的json已从服务器正确返回:

{“brew”:{“id”:57,“名称”:“Yadda Yadda”,“创建时间”:“2014-02-16T23:44:46Z”,“效率”:75}

我正在使用DS.ActiveModelAdapter。你知道为什么这个余烬没有看到从服务器返回的属性吗?

你有没有尝试过在promise函数中使用参数

这样,在该函数作用域中,它可以访问promise返回的已保存实例,并且id可用

actions:
  cancel: ->
    @transitionToRoute('brews.index')
  save: (brew) ->
    self = this
    brew.save().then( (b)->
      console.log "Brew id is #{b.get('id')}"
      console.log "Brew effciency is #{b.get('efficiency')}"
      self.transitionToRoute('recipe', b)
    )

你能发布你的模型吗?这是有问题的模型:谢谢。我现在已经试过了,但它不能解决问题。我还将
b==brew
记录到控制台,它返回true,这意味着promise返回相同的对象,无需将其作为函数参数传递。此外,在Ember inspector中,对象从未分配ID或其他属性。此路由的“模型”钩子是什么样子的?我没有使用模型钩子,只是使用setupController钩子。在setupController钩子中,选择要使用的控制器,然后将模型指定给其内容属性。我也需要一个模型钩吗?以下是setupController挂钩: