ruby rails 重写activerecord::Base 的字段属性

在ruby rails中如果你想要保存一个属性(或读取一个属性),同时希望在保存属性(或读取一个属性)时做一些其他的操作

可以使用重写该属性的设置器或读取器的方法。

比如一个Models的表中有一个叫name的字段,希望对name进行操作

方法一、

class Model < ActiveRecord::Base
attr_accessible :name
def name=(value)
# actions
write_attribute(:name,value)
end
def name
read_attribute(:name)
end

方法二、

与方法一类似,利于after_find和before_save方法

具体实例请百度

时间: 2024-10-02 22:33:38

ruby rails 重写activerecord::Base 的字段属性的相关文章

Rails中重写Active Record字段属性

系统重构或升级时偶尔会碰到需要重写某个字段的情况,例如: 1. 读取user的name字段时,实际返回name_new字段 class User < ActiveRecord::Base def name attribute(:name_new) end end 2. 修改属性时做一些其他操作(这种场景也可以使用回调来实现) class User < ActiveRecord::Base def name=(value) # actions write_attribute(:name,valu

Ubuntu下安装 Ruby, Rails 运行环境

说明: 在安装之前我做了:1.更新软件源,详细指导在这里: 2.更新系统:sudo apt-get update && sudo apt-get upgrade; 3.安装fcitx,安装sogou输入法: 4.打字不方便,禁用触摸板:sh TouchPad.sh off 接着就开始安装了!这里说明一下,后面的可能有几步可能是多余的,怕出错,就没有说去更正简化. 参考资料来自:边晓宇@CSDN 和 ruby-china.org如何快速正确的安装 Ruby, Rails 运行环境 操作系统U

脱离Rails单独使用ActiveRecord的几点需知

抛开Rails使用ActiveRecord效果非常好,因为ActiveRecord本身就是一个优秀的DBI! 首先不要再连接中写参数: #不推荐!!! ActiveRecord::Base.establish_connection( :adapter=>'sqlite3', :database=>'data.sqlite3', :pool=>5, :timeout=>5000 ) 而是将所有连接信息放在yml文件里: adapter: mysql host: 10.10.10.15

Access中的数据类型和字段属性

数据类型 用途 文本 字符.数字或字符与数字的任意组合,不能用于计算.最长255个字符,默认长度为50个字符.对于指定的大小,存放中文汉字与英文字母的个数都是一样的 备注 超长的文本,用于注释或说明,最长65535个字符 数字 用于计算的值,1.2.4或8字节 日期/时间 表示日期和时间,可用于计算,最多8字节 货币 表示货币的数据类型,可用于计算,小数点左边最多为15位,右边可精确到4位,最多8字节 自动编号 Access为每条记录提供唯一值的数值类型,常用做主码,4字节 是/否 布尔型,1字

mac快速正确的安装 Ruby, Rails 运行环境

Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号) 步骤0 - 安装系统需要的包# For Mac # 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包 # 然后安装 [Homebrew](http:

如何快速正确的安装 Ruby, Rails 运行环境

对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(

数据值、列类型和数据字段属性

数据值:数值型.字符型.日期型和空值等. 数据列类型 2.1 数值类的数据列类型 2.2 字符串类数据列类型 2.3 日期和时间型数据数据列类型 另外,也可以使用整形列类型存储UNIX时间戳,代替日期和时间列类型,这是基于PHP的web项目中常见的方式.例如,图书的发布时间,就          可以在创建books表的时候使用整型列类型,然后调用PHP的time()函数获取当前的时间戳存在该列中. 3.数据字段属性 1)unsigned:该属性只能用于设置数值类型,不允许数据列出现负数. 2)

怎样高速正确的安装 Ruby, Rails 执行环境

对于新入门的开发人员,怎样安装 Ruby, Ruby Gems 和 Rails 的执行环境可能会是个问题,本页主要介绍怎样用一条靠谱的路子高速安装 Ruby 开发环境. 次安装方法相同适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你须要用: Mac OS X 随意 Linux 发行版本号(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示须要在控制

1.4.2 solr字段类型--(1.4.2.7)字段属性使用案例

1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期) (1.4.2.5) 使用枚举字段 (1.4.2.6) 使用外部文件和程序 (1.4.2.7) 字段属性使用案例