具有活动记录查询接口的模糊搜索

时间:2014-09-22 10:27:42

标签: ruby-on-rails rails-activerecord fuzzy-search queryinterface

我在我的rails应用程序中进行模糊搜索,我想要的是这个:

select * from `user` where name like '%abc%'

我试图这样做:

name = 'abc'
User.where("name like '%?%'", name)

它失败了,在控制台中记录了:

select * from `user` where name like '%'abc'%'

最后我尝试了这个

name = 'abc'
User.where("name like ?", '%' + name + '%')

有效。

但我认为它不像rails方式,有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

User.where("name REGEXP ?", 'regex_str')

和regex_str应该是MySQL正则表达式字符串

试试这个..