簡體   English   中英

自定義Ransacker忽略數據庫中的破折號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM