gpt4 book ai didi

ruby-on-rails - 如何在ember js中使用belongs_to获取用户对象?

转载 作者:行者123 更新时间:2023-12-02 06:05:30 27 4
gpt4 key购买 nike

我有两个型号 RecipeUser .我无法在配方中获取用户对象。我做错了什么?

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')

recipe.js.coffee
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 Data 期望通过键来引用依赖记录。然后你可以旁加载额外的记录,或者让 Ember 从他们的 API 端点延迟加载它们。

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

但是,您也可以指示适配器嵌入记录。

有两种类型的嵌入式记录加载 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-Data 问题),但无需对现有服务器进行任何更改即可工作。

关于ruby-on-rails - 如何在ember js中使用belongs_to获取用户对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com