Rails ActiveRecord查询“”,“_”和“ - ”是可互换的

时间:2013-04-07 03:12:49

标签: ruby-on-rails ruby postgresql

我的目标是编写一个Model.find_by_name(" foo-bar"),将在数据库中返回一个名为" foo bar")的记录。我正在努力寻找有关如何实现这一目标的任何信息。我正在使用postgresql。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用regular expressions执行此操作:

to_match = "foo_bar".sub(/[ \-\_]/, '[ \-\_]')

Model.where("'name' ~ ?", to_match)

至少这是一般的想法。这些类型的搜索在大型表格上会慢得多。