ruby-on-rails – 如何使用Rails控制台搜索数据库中的子字符串?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用Rails控制台搜索数据库中的子字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我们所知
Things.where(“topic =?”,“blah”)
搜索符合“blah”的主题

但是,如果我想搜索包含“bla”的主题,该怎么办?

我该怎么做?

解决方法

这是描述它的 post.

基本上,您使用SQL LIKE expression来匹配包含某些内容的字符串.使用where(“类似主题?”,“%bla%”)就可以了.

然而,由于缺乏消毒,天真的解决方案容易受到攻击.如果用户键入自己的%通配符,他可以获取您不想提供的数据!上面的帖子建议您手动清理此类用户输入:

escaped_str =  "bla".gsub ('%','\%').gsub ('_','\_')
Topic.where("topic like ?","%" + escaped_str + "%")

猜你在找的Ruby相关文章