阅读更多

13顶
0踩

编程语言

原创新闻 Rails2.1中的新东西之三: Dirty Objects

2008-05-24 18:40 by 见习记者 luoye6401531 评论(0) 有3463人浏览
新的rails中activerecord拥有了检查record object是否有改变的能力,即dirty object.
这个功能非常简单灵活:
article = Article.find(:first)
article.changed?  #=> false

# Track changes to individual attributes with
# attr_name_changed? accessor
article.title  #=> "Title"
article.title = "New Title"
article.title_changed? #=> true

# Access previous value with attr_name_was accessor
article.title_was  #=> "Title"

# See both previous and current value with attr_name_change accessor
article.title_change  #=> ["Title", "New Title"]


你还可以直接查询对象所有改变了的属性,(继续上例):
# Get a list of changed attributes
article.changed  #=> ['title']

# Get the hash of changed attributes and their previous and current values
article.changes  #=> { 'title' => ["Title", "New Title"] }


注意: 如果你保存了一个dirty object,他就会清除所有改变的痕迹:
article.changed?  #=> true
article.save  #=> true
article.changed?  #=> false


如果你要使用attr=以外的方法改变对象属性的时候,可以使用attr_name_will_change!来告诉对象注意属性的变化:
article = Article.find(:first)
article.title_will_change!
article.title.upcase!
article.title_change  #=> ['Title', 'TITLE']


Rails2.1中的新东西之三: Dirty Objects

Rails2.1中的新东西之二: Gem Dependencies

Rails2.1中的新东西之一: has-one-through
13
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 什么是事务?为什么需要事务?

    什么是事务?为什么需要事务? 一、什么是事务? 事务是指单个逻辑工作单元执行得一系列操作,要么都做,要么都不做,是不可分割的工作单位,是数据库环境中的的最小工作单元。 二、为什么需要事务? 事务包含了一组...

  • 什么叫事务?Java如何处理事务呢?

    什么叫事务? 这些就是数据库特有的术语了。懒虫在这里口头解释:就是把多件事情当做一件事情来处理。也就是大家同在一条船上,要活一起活,要over一起over !  我为什么要使用事务? 俺这里再举个很俗很俗的...

  • 什么是事务?事务的四个特征(ACID)

    一、什么是事务?         **事务(Transaction)是访问并可能更新数据库中各项数据项的一个程序执行单元(unit)。**事务由事务开始(begin transaction)和事务结束(end...

  • 事务是什么?事务的四大特性? jdbc如何做事务处理?

    事务: 对数据操作的一个单个逻辑单元,这个单元有可能有多个操作,要不同时成功,... 原生jdbc对事务的处理如下: try{  connection.setAutoCommit( false);  数据库操作...  connection.commit(); }catch(Ex

  • 什么是事务?事务的作用是什么?(面试题)

    什么是事务? 事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元); 1....

  • Java - JDBC中如何进行事务处理?

    Connection提供了事务处理的方法,通过调用setAutoCommit(false)可以设置手动提交事务;当事务完成后用commit()显式提交事务;如果在事务处理过程中发生异常则通过rollback()进行事务回滚。除此之外,从JDBC 3...

  • 数据库事务处理

    1、简介 ...我们可以这样理解数据库事物:对数据库所做的一系列修改,在修改过程中,暂时不写入数据库,而是缓存起来,用户在自己的终端可以预览变化,直到全部修改完成,并经过检查确认无误后,...

  • 什么是事务?

    什么是事务? 事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。一般而言:一段程序中可能包含多个事务。(说白了就是几步的数据库操作...

  • 什么是分布式事务?

            ————— 第二天 —————                         ...假如没有分布式事务 ...在一系列微服务系统当中,假如不存在分布式事务,会...

  • SpringBoot 中如何操作事务?

    在 Spring Boot 中操作事务有两种方式:编程式事务或声明式事务,接下来我们一起来看二者的具体实现。 1.编程式事务 在 Spring Boot 中实现编程式事务又有两种实现方法: 使用 TransactionTemplate 对象实现编程...

  • 什么是事务?什么是锁?

    什么是事务?什么是锁? 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 简单的说,事务就是并发控制的单位,是用户定义的一个操作序列。 而一个逻辑工作单元要成为事务,就必须满足...

  • Spring——什么是事务?传播行为?事务隔离级别有哪些?

    Spring——什么是事务?传播行为?事务隔离级别有哪些?

  • 怎么实现分布式事务?

    1.什么是事务? 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 一致...

  • 数据库的事务处理

    事务的概念、事务的特性

  • SpringBoot - 优雅的处理【长事务】

    SpringBoot - 实践阿里巴巴【Manager 层_通用业务处理层】 在Spring体系中,在方法上加上注解@Transactional,Spring自动帮我们进行事务的开启、提交、回滚操作,真的是太方便了,以至于不分青红皂白,啥都搞上… ...

  • 什么是事务?事务的四大特性

    什么是事务? 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败 事务四个特性:ACID 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成...

  • 事务是什么?以及事务四个特性

    事务是什么,以及事务四个特性2018年6月15日 11:35:55阅读数:81246一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一...

  • 分布式事务是什么?如何实现?

    一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。 从本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 实现方式: ...

  • 如何在多线程异步的情况下保证事务?

    如何在多线程异步的情况下保证事务?

  • MiniGui业务开发基础培训-htk

    MiniGui业务开发基础培训-htk

Global site tag (gtag.js) - Google Analytics