Ruby on rails 查找更改后属性等于某个值的记录

Ruby on rails 查找更改后属性等于某个值的记录,ruby-on-rails,activerecord,rails-activerecord,slug,Ruby On Rails,Activerecord,Rails Activerecord,Slug,在MySQL中,我会做如下操作: 从表t中选择*,其中REPLACE(t.字段,“查找此”、“用此替换”)=“某物” 你知道我怎样才能在Rails中得到这样的东西吗 例如,这是行不通的: Site.where('name=?',slugify(某物)) 因为我在比较保存在数据库中的名称和变量某物的段塞形式 我想对站点的属性“name”进行slagify,然后与其他内容进行比较 这可能吗?那么: slugified_names = Site.where(field: 'find_this').ma

在MySQL中,我会做如下操作:

从表t中选择*,其中REPLACE(t.字段,“查找此”、“用此替换”)=“某物”

你知道我怎样才能在Rails中得到这样的东西吗

例如,这是行不通的:

Site.where('name=?',slugify(某物))

因为我在比较保存在数据库中的名称和变量某物的段塞形式

我想对站点的属性“name”进行slagify,然后与其他内容进行比较

这可能吗?

那么:

slugified_names = Site.where(field: 'find_this').map(&:slugify)
Site.where(field: slugified_names)
那么:

slugified_names = Site.where(field: 'find_this').map(&:slugify)
Site.where(field: slugified_names)

您可以在where子句中执行原始SQL:

Site.where("REPLACE(t.field,'find_this','replace_with_this') = ?", value_to_find)

您可以在where子句中执行原始SQL:

Site.where("REPLACE(t.field,'find_this','replace_with_this') = ?", value_to_find)