簡體   English   中英

如何在ActiveAdmin中的自定義過濾器中搜索子字符串?

[英]How to search for a substring in a custom filter in ActiveAdmin?

以往:

模型User的字符串為first_name 如果我在ActiveAdmin模型中編寫filter :first_name ,它將在輸入字段旁邊顯示一個下拉列表,其中Contains選項ContainsEqualsStarts withEnds with 因此,例如,如果我選擇Contains並編寫ik ,它將找到,例如Mike。

現在:

如果使用自定義過濾器,我將得到一個很大的輸入,跨越兩列,僅進行精確搜索。 我這樣定義過濾器:

  1. 在模型中創建一個范圍。
  2. 使用ransackable_scopes將其列入白名單。
  3. 像這樣將其添加到管理模型中: filter :my_filter, as: :string

如何獲取功能來查找子字符串?

要搜索子字符串,您必須使用Ransack搜索謂詞語法,即,如果要在字段first_name上搜索子字符串,則必須采用以下方式進行配置:

filter :first_name_cont, as: :string, label: "Name"

您可以在這里找到更多信息

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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