系统重构或升级时偶尔会碰到需要重写某个字段的情况,例如:
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,value) end def name read_attribute(:name) end end
原文地址:https://www.cnblogs.com/xiaoff/p/9052270.html
时间: 2024-10-09 14:38:12