如何在Rails 4中使用正则表达式更新列的所有值

log*_*han 4 postgresql active-record-query ruby-on-rails-4 rails-activerecord

我有一个带有“ Ip”列的表,所有值都类似于10.xxx,现在我想用所有记录中的20个替换10。他们有什么办法通过Activerecord做到这一点吗?还是我只需要使用regexp_replace执行原始的postgres查询?

log*_*han 5

ModelName.update_all("column_name = replace(columnname,'originaltext','replacement') ")
Run Code Online (Sandbox Code Playgroud)

例如:

Resource.update_all("fqdn = replace(fqdn,'d3p5','d6p6') ")
Run Code Online (Sandbox Code Playgroud)

现在,fqdn列中所有出现的“ d3p5”都替换为d6p6