仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 540|回复: 9
打印 上一主题 下一主题

[学习教程] 来看Rails开辟细节(三)Participating in the Monitoring Process

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
ParticipatingintheMonitoringProcess
介入监控历程
ActiveRecord把持着model对象的性命周期,它创立它们,在修正,保留和更新的时分监控它们,而且在删除的时分也举行监控。利用回调函数,ActiveRecord同意我们的代码介入这个监控历程。
ActiveRecord统共界说了20个回调函数。18个成对的before和after,另有两个破例:after_find和after_initialize。

完成callback有两种体例。
第一种,间接在对象的回调办法中写代码。
  1. classOrder
  2. <ActiveRecord::Base
  3. defafter_save
  4. self.payment_due||=Time.now+30.days
  5. end
  6. end
复制代码
第二种,为回调声明一个处置器,处置器能够是一个办法,大概是一个block。
  1. classOrder<ActiveRecord::Base
  2. before_validation:normalize_credit_card_number
  3. after_createdo|order|
  4. logger.info"Order#{order.id}created"
  5. end
  6. protected
  7. defnormalize_credit_card_number
  8. self.cc_number.gsub!(/[-s]/,)
  9. end
  10. end
复制代码
你能够为一个回调函数指定多个处置程序,多个处置程序会依照指定的按次实行,除非个中一个处置程序前往false,这时候候才会停止前面的处置程序。
由于必要优化功能,界说after_find和after_initialize只能用办法的体例,假如利用其他体例,界说的处置程序会被疏忽。
GroupingRelatedCallbacksTogether
callback分组
能够将相干的callback处置办法界说在独自的类中,如许这些处置办法就能够在多个model中共享。一个处置类就是在一个类中界说回调办法,把这些类放在app/models文件夹中。
  1. classCreditCardCallbacks
  2. defbefore_validation(model)
  3. model.cc_number.gsub!(/[-s]/,)
  4. end
  5. end
  6. classOrder<ActiveRecord::Base
  7. before_validationCreditCardCallbacks.new
  8. end
  9. classSubscription<ActiveRecord::Base
  10. before_validationCreditCardCallbacks.new
  11. end
复制代码
下面的CreditCardCallbacks的before_validation就是共享的,这必要Order和Subscription都包括cc_number属性。共享的处置程序,必要处置不异的属性,一定必要共享处置程序的model有不异称号的属性。
<p>
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 21:19:15 | 只看该作者
是一种使用者不需花费很多时间学习的语言
简单生活 该用户已被删除
板凳
发表于 2015-1-24 17:04:24 | 只看该作者
是一种为 Internet发展的计算机语言
地板
发表于 2015-1-31 21:40:29 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
再见西城 该用户已被删除
5#
发表于 2015-2-1 07:48:47 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-7 01:41:04 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
老尸 该用户已被删除
7#
发表于 2015-2-19 11:51:07 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
因胸联盟 该用户已被删除
8#
发表于 2015-3-6 14:47:20 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
若天明 该用户已被删除
9#
发表于 2015-3-13 02:09:05 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
谁可相欹 该用户已被删除
10#
发表于 2015-3-20 09:58:18 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 05:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表