7.3 Models -- Creating And Deleting Records
一、Creating
1. 你可以通过调用在store中的createRecord方法来创建records。
store.createRecord('post', {
title: 'Rails is Omakase',
body: 'Lorem ipsum'
});
2. 这个store对象可以通过this.store在controllers和routes中使用。
3. 尽管createRecord相当简单,唯一要注意的是你不能分配一个promise作为一个关系。例如,如果你希望设置一个post的author属性,如果user的id没有被加载进store,这将不会实现:
var store = this.store; store.createRecord('post', {
title: 'Rails is Omakase',
body: 'Lorem ipsum',
author: store.findRecord('user', 1)
});
4. 然而,在这个promise实现之后你可以很容易的设置关系:
var store = this.store; var post = store.createRecord('post', {
title: 'Rails is Omakase',
body: 'Lorem ipsum'
}); store.findRecord('user', 1).then(function(user) {
post.set('author', user);
});
二、Deleting records
删除记录和创建记录一样简单。仅仅是调用 DS.Model任意实例上的deleteRecord()方法。这标记这个record是isDeleted并且因此从store上的all()查询上移除它。
然后使用save()删除可以被持久化(指在数据库上也删除)。或者,你可以使用destroyRecord方法同事删除并持久化。
store.findRecord('post', 1).then(function(post) {
post.deleteRecord();
post.get('isDeleted'); // => true
post.save(); // => DELETE to /posts/1
}); // OR
store.findRecord('post', 2).then(function(post) {
post.destroyRecord(); // => DELETE to /posts/2
});
7.3 Models -- Creating And Deleting Records的更多相关文章
- ERROR:"org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /config/topics/test" when creating or deleting Kafka operations authorized through the Ranger policies
PROBLEM DESCRIPTION When creating or deleting topics in Kafka, they cannot be authorized through the ...
- Ember.js学习教程 -- 目录
写在前面的话: 公司的新项目需要用到Ember.js,版本为v1.13.0.由于网上关于Ember的资料非常少,所以只有硬着头皮看官网的Guides,为了加深印象和方便以后查阅就用自己拙劣的英语水平把 ...
- Models
Models Models control the data source, they are used for collecting and issuing data, this could be ...
- Database ORM
Database ORM Introduction Basic Usage Mass Assignment Insert, Update, Delete Soft Deleting Timestamp ...
- Professional C# 6 and .NET Core 1.0 - 38 Entity Framework Core
本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 38 Entity Framework ...
- 学习笔记:The Best of MySQL Forum
http://mysql.rjweb.org/bestof.html I have tagged many of the better forum threads. 'Better' is based ...
- Professional C# 6 and .NET Core 1.0 - Chapter 38 Entity Framework Core
本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - Chapter 38 Entity F ...
- Local Databases with SQLiteOpenHelper
Overview For maximum control over local data, developers can use SQLite directly by leveraging SQLit ...
- HEC-ResSim原文档
HEC-ResSim Reservoir System Simulation User's Manual Version 3.1 May 201 ...
随机推荐
- C#的字符串优化-String.Intern、IsInterned
https://www.jianshu.com/p/af6eb8d3d4bf 首先看一段程序: using System; class Program { static void Main(strin ...
- linux中的目录和文件的统计
ls 目录 | wc -l find ./ -type d | wc -l //查找目录个数 find ./ -type f | wc -l ...
- 【python】一次执行多个linux命令
方法:多个命令之间用“;”进行连接即可:
- webstorm配置babel自动转译es6的方法
1.npm安装babel npm install -g babel-cli 2.npm安装Babel的preset npm install --save-dev babel-preset-es2015 ...
- 使用NSTimer实现动画
1.新建empty AppLication,添加HomeViewController页面, iphone.png图片 2.在 HomeViewController.xib中添加Image View,并 ...
- const T* 和 T* const
使用c++的时候,经常会在 const int *p 和 int * const p这个地方迷惑.这里记录一下: const int *p = int const *p //这里const后面的为* ...
- MQTT的学习研究(十七)Mosquitto简要教程(安装&使用)
Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案.本文的主旨在于记录M ...
- JS-匀速运动-运动停止
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CentOS下安装cvechecker并进行主机基线安全检查
一.cvechecker的安装 1.首先下载cvechecker并解压该文件: cd /home/username mkdir cve wget https://raw.githubuserconte ...
- zabbix修改和查看登录密码
author:hendsen chen date : 2018-08-30 16:48:18 1,登陆zabbix的服务器,查看zabbix的登陆密码: [root@jason ~]# mysql ...