[英]Custom Ransacker to ignore dash in database
我正在尝试自定义Ransack,以允许搜索文本字段,并且可能让Rasack忽略dash
。
如果我在搜索框中输入以下内容:
123456
Ransack查询将在数据库中找不到此记录:
123-456
现在,如果我不输入破折号,将找不到记录。 我了解为什么它试图匹配数据库记录,但显然找不到它,因为破折号是查找该记录所必需的。
是否可以自定义Ransack,以便搜索仍能找到参数中没有破折号的记录?
看起来创建自定义Ransacker可以解决问题。
ransacker :number do
Arel.sql("translate(number, '-', '')")
end
使用Ransack进行搜索时,这将从数据库的数据表示形式中删除破折号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.