Rails中重写Active Record字段属性
Posted 小芬喵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,value) end def name read_attribute(:name) end end
以上是关于Rails中重写Active Record字段属性的主要内容,如果未能解决你的问题,请参考以下文章
Rails 4 - 从已过滤的 Active Record 查询中删除属性
URL 中的 Rails slugs - 使用 Active Record 模型帖子的 Title 属性而不是 ID