previous_changes方法
- [27] pry(main)> c = Channel.find 6
- => #<Channel id: 6, title: "会员", cid: "96", pid: "", channel_position: "", data_type: "", filter_id: "", version: "1.2.0">
- [28] pry(main)> c.valid?
- => true
- [29] pry(main)>
- [30] pry(main)>
- [31] pry(main)> c.has_filter
- => ""
- [32] pry(main)> c.cid
- => ""
- [33] pry(main)> c.is_default_channel
- => ""
- [34] pry(main)> c.reload
- => #<Channel id: 6, title: "会员", cid: "96", pid: "", channel_position: "", data_type: "", filter_id: "", version: "1.2.0">
- [35] pry(main)> c.previous_changes
- => {}
- [36] pry(main)> c.title = c.title + 1
- TypeError: no implicit conversion of Fixnum into String
- from (pry):43:in `+'
- [37] pry(main)> c.title = c.title + ''
- => "会员1"
- [38] pry(main)> c.save
- => true
- [39] pry(main)> c.previous_changes
- => {"title"=>["会员", "会员1"], "updated_at"=>[Fri, 08 Apr 2016 08:10:30 CST +08:00, 2016-04-08 12:28:20 +0800]}
- [40] pry(main)> a, b = [1,2]
- => [1, 2]
- [41] pry(main)> a
- => 1
- [42] pry(main)> b
- => 2
model里的private方法
- def update_auto_activate_job
- if active? # 对已经设置了自动开启时间的视频进行手动开启操作
- if (change = previous_changes[:state]) && change[0] == 0
- if job = Sidekiq::ScheduledSet.new.find_job(auto_activate_job_id)
- job.delete
- end
- update_attributes auto_activated_at: nil, auto_activate_job_id: nil
- end
- else # 针对未开启的视频,设置,取消或者更新定时开启时间
- if change = previous_changes[:auto_activated_at]
- original_value, new_value = change
- if original_value.nil? # 设置定时开启,id是当前model里的id
- job_id = AutoActivateWorker.perform_at new_value, id
- update_attribute :auto_activate_job_id, job_id
- elsif new_value.nil? # 取消定时开启
- if job = Sidekiq::ScheduledSet.new.find_job(auto_activate_job_id)
- job.delete
- end
- update_attribute :auto_activate_job_id, nil
- else # 更新定时开启时间
- if job = Sidekiq::ScheduledSet.new.find_job(auto_activate_job_id)
- job.reschedule new_value
- end
- end
- end
- end
- end
previous_changes方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
随机推荐
- ajax请求模拟登录
前台 @if (Session["username"] != null) { <div class="login"> <span style= ...
- Linq之Linq to Objects
目录 写在前面 系列文章 linq to objects 总结 写在前面 上篇文章介绍了linq的延迟加载特性的相关内容,从这篇文章开始将陆续介绍linq to Objects,linq to xml ...
- Bootstrap3.0学习第二十三轮(JavaScript插件——警告框)
详情请查看http://aehyok.com/Blog/Detail/29.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- 使用 ArcGIS中的ArcObjects进行二次开发
参考网址:https://blogs.esri.com/esri/arcgis/2012/12/07/arcobjects-or-runtime-sdk/ http://resources.arcgi ...
- WAR包
1.windows命令下使用cmd命令打包 jar -cvf applicationname.war package.*: 2.程序中使用代码打包(这里用java) try{ string strja ...
- 【SDOI2008】解题汇总
好叭我真的是闲的了... /---------------------------------------------/ BZOJ-2037 [SDOI2008]Sue的小球 DP+相关费用提前计算 ...
- Penetration Testing、Security Testing、Automation Testing
相关学习资料 http://www.cnblogs.com/LittleHann/p/3823513.html http://www.cnblogs.com/LittleHann/p/3828927. ...
- Nginx Installation、Configuration、Rreverse Proxy、Load Balancing Learning
目录 . Nginx简介 . Nginx安装部署 . Nginx安全配置 . Nginx反向代理实践 . Nginx负载均衡实践 1. Nginx简介 0x1: Nginx的基本特性 Nginx(&q ...
- php中静态变量和静态方法
1,静态变量:所有对象共享的变量成为静态变量.静态变量类似于全局变量,不过全局变量破坏对象的封装性,因此其对应于面向过程:静态变量对应于面向对象. 2,全局变量,全局变量的使用实例如下,声明全局变量时 ...
- POJ3259Wormholes(判断是否存在负回路)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 38300 Accepted: 14095 Descr ...