Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >忽略Ember数据侧载模型

忽略Ember数据侧载模型
EN

Stack Overflow用户
提问于 2013-05-29 07:25:58
回答 2查看 652关注 0票数 0

我是Ember的新手,我遇到了一个在其他地方看不到的问题,所以我确信我在做一些愚蠢的事情。我有这些模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App.User = DS.Model.extend({
    username: DS.attr("string"),
    userId: DS.attr("number"),
    modules: DS.hasMany("App.Module")
});
App.Module = DS.Model.extend({
    moduleId: DS.attr("number"),
    name: DS.attr("string")
});

请注意,我的Module模型只是一个容器,用户可以拥有几个,并且许多用户可能共享相同的模块-它们实际上是由服务器上的Enum表示的。因此,后端没有Module > Users的映射,所以我在App.Module中保留了DS.ownedBy或DS.hasMany。但是,我在测试中也使用了"users: DS.hasMany('App.User')“,结果是一样的。如果有必要,我可以维护这样的映射,但我现在没有其他理由这样做,所以被迫将这样的表添加到我的数据库中将是一件有点不幸的事情。

我使用Ember.Auth进行身份验证,当我的应用程序加载并登录时,服务器会请求(不出所料):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
users/nathan?authToken=<token>

根据ember数据文档,我认为结果也应该是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "user": {
        "username": "nathan",
        "user_id": 1,
        "module_ids": [1,2]
    },
    "modules": [
        {"module_id": 1, "name": "Account Settings"},
        {"module_id": 2, "name": "Manage Websites"}
    ]
}

然后我在Chrome控制台中使用以下命令进行测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App.Auth.get("user").get("modules");

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App.User.find("nathan").get("modules");

在这两种情况下,Ember向我的服务器请求获取模块1和模块2的数据。如果我重复相同的请求,它不会再次返回服务器,所以它当时正确地存储了结果,它只是忽略了旁路加载。

我使用ember-1.0.0-rc4和ember-data-0.13。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-29 08:54:18

在边载响应中,module_id应为id

(或者,您可以将ember-data配置为使用module_id,但格式化服务器响应应该是更简单的方法?)

-用于解释的编辑

我不确定最初的REST调用是否“完美工作”。没有id的话。ember-data确实看到了您最初侧面加载的两个module,但它没有看到id,所以它不知道它们分别是module12。默认情况下(可更改的),ember-data期望id被称为id;您的module_id (和user_id)只是被视为常规属性。

在您的下一次API调用(可能是对/modules?ids[]=1&ids[]=2的调用)时,ember-data会默默地假设,既然您请求的两个module和两个module返回了,那么它们应该就是您请求的两个。试着把这个发回去

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "modules": [
        {"module_id": 3, "name": "Foo module"},
        {"module_id": 4, "name": "Bar module"}
    ]
}

对于请求/modules?ids[]=1&ids[]=2,您仍将获得您的“成功”观察。

使用module_id-response试用App.Module.find(1).get('name') -您将获得undefined;现在使用id-response试用它,您将获得预期的Account settings

票数 1
EN

Stack Overflow用户

发布于 2013-05-29 08:15:58

您是否已将RestAdapter配置为旁载模块?

如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DS.RESTAdapter.configure('App.Module', {
  sideloadsAs: 'modules'
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16807879

复制
相关文章
ios侧载软件方式
我的设备是不支持越狱的,所以没了解的太多,按照我的理解就像安卓系统一样获取root权限,只不过越狱是利用ios的漏洞。
sgr997
2022/11/12
2.6K0
ios侧载软件方式
使用Ember CLI 创建一个ember的单页面应用
最近在魔改rancher/ui 此项目使用的emberjs, 虽然不太懂emberjs,也能完成任务,但有些需求还是要懂有些emberjs的知识。
拿我格子衫来
2022/01/24
8810
使用Ember CLI 创建一个ember的单页面应用
搭建Ember开发环境
[root@master ~]# ember -v ember-cli: 2.10.0 node: 6.9.2 os: linux x64
程裕强
2022/05/06
6980
搭建Ember开发环境
简单地建立Ember CLI Addons
在开始本篇文章前,先介绍下ember的背景。Ember是个用于构建大型网页应用的框架。Ember CLI可以很方便的使大型网页应用在浏览器中运行。ember做了许多,所以可以快速上手、使项目运行。打包工具、ES6模块转义、单元测试都可以直接使用。这样可以集中精力处理更重要的东西。它有一个真正关心ember发展的优秀社区。总之,它是个很棒的框架。我现在就不再滔滔不绝地讲下去了,继续讲我想讲的内容。Addons.
疯狂的技术宅
2019/03/27
1K0
【前端】Ember.js学习笔记
在默认情况下,model钩子返回的值,会设置为关联的控制器的model属性。例如,如果App.PostsRoute通过model钩子返回了一个对象,这个对象会设置为App.PostsController的model属性。
zhaokang555
2023/10/17
2510
【前端】Ember.js学习笔记
如何选择前端框架:ANGULAR VS EMBER VS REACT
最近一段时间是令前端工程师们非常兴奋的时期,因为三大Web框架陆续发布新版本,让我们见识到了更强大的Web框架。Ember2.0在2个月之前已经发布,从1.0升级到2.0非常简单。几周之前React发布了0.14版本。还有很多流行的前端框架,像Backbone 、Knockout及Aurelia。如果你想开发一个Web app,建议采用Angular,Ember或React三种框架中的一个。这三个框架可以说是安全级别最高,技术非常成熟的框架,而且有很多技术社区支持。所以你又开始纠结了,开发Web app,到
葡萄城控件
2018/01/10
2.4K0
如何选择前端框架:ANGULAR VS EMBER VS REACT
蛋白质侧链预测新方法DiffPack:扩散模型也能精准预测侧链构象!
蛋白质由氨基酸经脱水缩合反应形成,可折叠为复杂的 3D 空间结构,是生物体内执行各种功能(催化生物化学反应、传递信号)的主要分子,而其中蛋白质的侧链结构对其功能至关重要。侧链的化学性质和空间排列决定了蛋白质如何折叠,以及蛋白质如何与其他分子(包括其他蛋白质、DNA、RNA、小分子等)相互作用。这些相互作用可以是氢键、离子键、疏水相互作用和范德华力等。理解这些相互作用,可以帮助我们更好的寻找药物与受体的结合位点,设计催化效果更强的酶。因此,准确预测蛋白质的侧链构象对于理解蛋白质的功能和设计新的药物至关重要。
机器之心
2023/08/08
2210
蛋白质侧链预测新方法DiffPack:扩散模型也能精准预测侧链构象!
git忽略上传文件git忽略上传文件
第一步 在项目目录新建.gitignore文件 第二步 配置文件 文件名可以使用正则匹配 # Default ignored files # 比如常见的.idea .idea
小小咸鱼YwY
2020/06/19
4.1K0
qq侧滑
上一篇博客带大家实现了:Android 自定义控件打造史上最简单的侧滑菜单 ,有兄弟看了以后说,你这滑动菜单过时了呀~QQ5.0的效果还不错~~嗯,的确,上一篇也承诺过,稍微修改上一篇的代码,实现Q
xiangzhihong
2018/01/30
2.1K0
qq侧滑
go mongodb 忽略字段,go bson 忽略字段
高久峰
2023/06/18
4530
科学瞎想系列之一四三 电机绕组(19)
上期我们讲了槽内线圈的感应电势,解答了用“Blv观点”计算槽内线圈感应电势的有关问题,明确了电机线圈中的感应电势大小与电枢开槽无关,“Blv观点”不仅适用于计算光滑电枢表面的线圈感应电势,而且也适用于计算电枢开槽后槽内线圈感应电势的计算,但用“Blv观点”计算槽内线圈的感应电势时,其中的B必须用光滑电枢时的气隙磁密值代入。 与此问题类似,通电导体在磁场中会受到的电磁力的作用,电磁力的大小可用“BIL”计算。具体到电机中,如果电枢是光滑的,线圈位于光滑电枢表面,则用“BIL观点”计算线圈导体的受力,进而计算电磁转矩是非常容易理解的;如果电枢开槽,线圈的导体位于槽内,同样存在着槽内的磁密很小,“BIL观点”还是否适用的问题。如果能用,其中的B又应该用何值代入?另外同学们还经常问到一个问题,就是槽内线圈产生的电磁力是作用在槽内的导体上还是作用在铁芯上?本期就来回答这些问题! 1 磁介质在磁场中受到的磁场力 将一块磁介质(简称“磁质”)置于磁场中,就会受到磁场力的作用。在磁质的某点附近取一体积微元dV,设该体积微元所受到的磁力为dF,则定义dF/dV为该点磁质所受到的体积磁力密度,即f=dF/dV。也就是说,磁质上某点的磁力密度就是该点附近单位体积的磁质所受到的磁场力。根据相关电磁理论,磁质在磁场中所受到的体积磁力密度为: f=J×B-(1/2)H²•gradμ+f″ ⑴ 需要说明的是,上式为不失一般性的磁力密度表达式,全面考虑到了各种情况:其中第一项是考虑了磁质中包含传导电流所受到的磁场力,即通电导体在磁场中受到的磁力,也就是人们常说的“洛伦兹力”,式中:J为该点处的传导电流密度矢量;B为该点处的磁密矢量,该项表明通电导体在磁场中所受到的磁力密度为电流密度矢量与磁密矢量的叉乘,进一步推导(略)可知,如果电流方向与磁场方向垂直,则该项磁力的大小就等于BIL,作用点在载流导体上,方向可用左手定则判定;第二项是考虑了磁质中各点的磁导率分布可能不同,式中:gradμ为该点磁导率的梯度;H为该点的磁场强度,该项表明当磁质内各点的磁导率分布不均匀时,就会因各向磁阻不均匀而产生的磁力,称为麦克斯韦力,麦克斯韦力的大小与该处磁导率的梯度成正比,该项前面的负号“-”表示麦克斯韦力的方向为从μ值大处指向μ值小处;第三项 f″则表示磁质在磁场中受到应力后发生变形,于是各方向的μ值发生变化而引起的力,称为磁致伸缩力,通常在磁质内部 f″会被材料局部的弹力相平衡,属于内力,只影响磁质内部的应力分布,不影响整个磁质所受到的总合力,加之在简化的铁磁物质模型中,认为磁质变形时μ并不随之而变化,因此通常在电机中将该项忽略不计。这样在分析实际电机中的电磁力时,就只考虑前面两项——洛伦兹力和麦克斯韦力,并还可根据电机磁路的具体情况,作相应的简化。 整块磁质所受到的磁场力: F=∭【V】f•dV ⑵ 式中:【V】为积分区域,即整个磁质的体积。 2 磁场通过两种不同磁介质时交界面上的磁场力 对于⑴式中的第二项——麦克斯韦力,若一种磁质内部的μ为常数(处处相等),则该磁质内部gradμ=0,这就意味着同一磁介质内部的麦克斯韦力为0,但如果磁路中存在两种磁介质,例如电机的磁路中就存在铁心与空气两种磁介质,由于铁心与空气的磁导率相差巨大,那么在铁心与空气的交界面上就存在巨大的法向磁导率梯度gradμ,因此在交界面上就会产生巨大的麦克斯韦力。因此在分析电机中的电磁力时,往往不考虑铁心内部的体积磁力密度,而只考虑两种不同介质交界面上的面积磁力密度,即磁应力,为此⑵式可写作: F=∭【V】f•dV =∬【A】σ•da ⑶ 式中:【A】为积分区域,即为包围体积【V】的闭合曲面;σ为磁应力,即单位面积上的电磁力;da为曲面A上的面积微元。 根据麦克斯韦张量理论,经过一系列复杂的推导(略),得出两种不同磁介质交界面上的磁应力: σ=(1/2μ)(Bn²-Bt²)n+(1/μ)Bn•Bt•t =σn+σt ⑷ 式中:Bn和Bt分别为交界面上法向和切向的磁密;n和t分别代表交界面上的单位法向矢量和单位切向矢量;σn和σt分别为交界面上磁应力的法向分量和切向分量: σn=(1/2μ)(Bn²-Bt²) σt=(1/μ)Bn•Bt ⑸ 3 铁心和空气交界面的磁场力 如图1所示表示铁心和空气形成交界面A。设空气为介质1,μ1=μ0,空气侧的磁密为B1;铁心为介质2,μ2=μFe,铁心侧的磁密为B2;磁场为二维平行平面场。
标准答案
2022/08/30
9590
科学瞎想系列之一四三 电机绕组(19)
张涵诚:用大数据推进”供给侧“改革
本文由大数据专家张涵诚授权CDA数据分析师发布 需求和供给的相对平衡是国民经济的平稳的决定性因素。要达到这个平衡,国家提出要供给侧改革。看过很多供给侧改革的文章,大部门比较宏观,而笔者认为精细化推进”
CDA数据分析师
2018/02/24
7280
张涵诚:用大数据推进”供给侧“改革
Linq to Sql 更新数据时容易忽略的问题
越来越多的朋友喜欢用Linq to Sql来进行开发项目了,一般我们都会遇到CRUD等操作,不可否认,在查询方面Linq真的带来很大的便利,性能方面也表现不错,在插入操作和删除操作中,Linq的表现也还不错,但是在更新某条记录的时候,性能就相对比较弱了,我们一般会使用ExecuteSql等方法来执行脚本。 不过有时候,我们还是会使用Linq to Sql来进行Update,执行的步骤:获取一个记录-〉更新字段 -〉submitChanges() 昨天遇到了一个问题,流程都没有错,但是更新的时候始终没有更新到
脑洞的蜂蜜
2018/02/01
1.3K0
数据恢复软件EasyRecovery15下载
要想恢复文件,就得整明白一件事:文件在删除后去哪儿了呢?首先需要明确一件事情:文件被我们删除到回收站后,本质上只是进行了移动,因为我们随时可以从回收站还原文件。
用户7442547
2022/06/30
5830
rpm 安装 忽略依赖_rpm卸载软件忽略循环依赖
今天由于某些原因需要卸载掉服务器上的php软件,然后我使用下面命令显示出本机安装的所有和php相关的软件,如下: iteblog$ rpm -qa | grep php
全栈程序员站长
2022/11/08
2K0
【ICLR2022】序列生成的目标侧数据增强
来源:专知本文为论文,建议阅读5分钟本文提出了一种生成端的数据增强方法。 论文题目:Target-Side Data Augmentation for Sequence Generation 作者:解曙方,吕昂,夏应策,吴郦军,秦涛,刘铁岩,严睿 通讯作者:严睿 论文概述:自回归序列生成是机器学习和自然语言处理中的一个重要方法。每个元素在生成的时候,它同时基于输入条件和已经生成的元素。之前的数据增强方法,虽然已经在各种任务上取得的显著的效果,却只是被运用在了输入条件上。例如在输入的序列中增加噪声,或进行随
数据派THU
2022/03/04
3080
DrawerLayout侧滑栏
第一步:这是最基本的一个布局文件,里面有主界面布局,下面是包含一个button的按钮;
全栈程序员站长
2022/09/13
6670
数据库的使用你可能忽略了这些
很明显,不同的类型存储的长度有很大区别的,对查询的效率有影响,字段长度对索引的影响是很大的。
itmifen
2018/04/16
2.1K7
git全局忽略文件
前阵子做项目时偶然发现自己本地的某个index.js文件无法加入版本库,sourceTree里面一直看不到文件(且项目下面的gitignore文件并没有记录此文件),尝试执行 git add file_name 去手动添加文件。
薛定喵君
2021/05/20
2.1K0
git 忽略 .idea文件
多人开发时,会出现明明在gitignore中忽略了.idea文件夹,但是提交时仍旧会出现.idea内文件变动的情况
韩旭051
2021/05/11
2.7K0

相似问题

(Ember.js)如何保存ajax调用的侧载数据?

16

Ember -在RESTAPISerializer中旁载数据

15

离线MapBox侧载合并

16

使用ember model旁载数据的正确方法

10

Ember.js未旁载

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文