我已经写了一个查找器,代码如下:
问题在于,如果这个字符串中包含“'”或“&”,那么使用ILIKE时就无法正确匹配。
例如,下面是一些存储在我的数据库中的字符串及其参数化版本:
有什么办法可以使带有特殊字符的字符串得到正确匹配吗?
@cars = @cars.joins(:manufacturers).where("manufacturers.name ILIKE ?", params[:manufacturer].gsub!(/-/, ' '))
params[:manufacturer]
以Rails的.parameterize
处理后,会变成一个字符串。问题在于,如果这个字符串中包含“'”或“&”,那么使用ILIKE时就无法正确匹配。
例如,下面是一些存储在我的数据库中的字符串及其参数化版本:
- "This is a test" 参数化: "this-is-a-test" 替换: "this is a test"
- "He didn't do it" 参数化: "he-didn-t-do-it" 替换: "he didn t do it"
- "This & That" 参数化: "this-that" 替换: "this that"
有什么办法可以使带有特殊字符的字符串得到正确匹配吗?