【发布时间】:2010-12-01 06:31:58
【问题描述】:
我发现自己经常写这样的代码:
song.rb:
:before_save :cache_sortable_name
private
def cache_sortable_name
return unless name_changed?
self.sortable_name = name.sub(/^(the|a|an)\s+/i, '')
end
即,我有一个 sortable_name 数据库列,为方便起见,它包含非规范化数据,我想在模型名称更改时填充它。
我希望能够将此逻辑封装在这样的构造中
:cache_in_database :sortable_name do
name.sub(/^(the|a|an)\s+/i, '')
end
什么的。这存在吗?
【问题讨论】:
标签: ruby-on-rails denormalization