今天用到了 ransack 这个 gem,什么_cont 和_eq 用法感觉用着很爽,不过在测试搜索英文下划线时,居然把所有的 date 都检索出来了,看到发出的 sql 语句没有问题啊
User Load (0.9ms) SELECT `users`.* FROM `users` WHERE (username like '%_%')
rails 怎么把转义字符给干掉了?不支持吗?还是没有识别?或者是没有对它处理? 于是我就自己写了个,但是自己写这个对的
User.where("username like '%\\_%'")
User Load (0.9ms) SELECT `users`.* FROM `users` WHERE (username like '%\_%')
这是什么原因难道 ransack 没有对"_"处理吗? 我想不能每次都是手写一条针对特殊字符处理的 sql 把,有什么好的解决办法吗?请大神指点