【发布时间】:2013-07-09 18:07:41
【问题描述】:
我有一个包含姓名的 Person 模型,我想尽可能简单地搜索这些。
是否有类似People.like(:name => "%#{query}%") 的rails/ActiveRecord 方法,就像DataMapper 所拥有的那样?我在 ActiveRecord 文档中找不到类似的东西,但如果这根本不可能,我会感到震惊。
目前我正在使用Person.where "name LIKE '%#{query}%'",它工作得很好,但它是一个明显的 SQL 注入漏洞。
Rails 3.2
【问题讨论】:
-
postgres 不是用 ILIKE 代替 LIKE 吗?
-
"根据活动区域设置,可以使用关键字 ILIKE 代替 LIKE 使匹配不区分大小写。这不是 SQL 标准,而是 PostgreSQL 扩展。"
标签: ruby-on-rails postgresql activerecord