Ruby on rails 如何在ember js中获取具有所属对象的用户对象?

Ruby on rails 如何在ember js中获取具有所属对象的用户对象?,ruby-on-rails,ember.js,Ruby On Rails,Ember.js,我有两种型号Recipe和User。我无法获取配方中的用户对象。我做错了什么 App.Recipe.find(1).get('title') // Returns "recipe01 title". All works fine. App.Recipe.find(1).get('user') // Returns null user.js.coffee App.User = DS.Model.extend email: DS.attr('string') recipes: DS.

我有两种型号
Recipe
User
。我无法获取配方中的用户对象。我做错了什么

App.Recipe.find(1).get('title') // Returns "recipe01 title". All works fine.

App.Recipe.find(1).get('user') // Returns null
user.js.coffee

App.User = DS.Model.extend
   email: DS.attr('string')
   recipes: DS.hasMany('App.Recipe')
App.Recipe = DS.Model.extend
  user: DS.belongsTo('App.User')
  title: DS.attr('string')
配方咖啡

App.User = DS.Model.extend
   email: DS.attr('string')
   recipes: DS.hasMany('App.Recipe')
App.Recipe = DS.Model.extend
  user: DS.belongsTo('App.User')
  title: DS.attr('string')
我的json数组

{
  recipe: {
    id: 1,
    title: "recipe01",
    user: {
      id: 1,
      name: "ejiqpep",
      email: "ejiqpep@gmail.com",
    }
  }
}

默认情况下,余烬数据期望键引用从属记录。然后,您可以侧载额外的记录,或者让Ember lazy从它们的API端点加载它们

{
  recipe: {
    id: 1,
    title: "recipe01",
    user_id: 1
  },
  user: {
    id: 1,
    name: "ejiqpep",
    email: "ejiqpep@gmail.com"
  }
}
但是,您也可以指示适配器嵌入记录

App.Adapter.map 'App.Recipe',
  user: 
    embedded: 'always'
有两种类型的嵌入式记录加载
embedded:“always”
,其中Ember将接收和发送嵌入对象的任何更改

App.Adapter.map 'App.Recipe',
  user: 
    embedded: 'always'
或者
embedded:'load'
,其中Ember将从JSON加载嵌入式对象,但将更改作为单独的对象保存回API

App.Adapter.map 'App.Recipe',
  user:
    embedded: 'load'
三个选项中你想选择哪一个取决于你自己。 嵌入式对象只是最近才实现的,并且存在一些问题(请参阅Github上的Ember数据问题),但是在不更改现有服务器的情况下,这些对象仍然可以工作