过去:
模型User
有一个字符串first_name
。如果我在ActiveAdmin模型中编写filter :first_name
,它会在输入字段旁边显示一个下拉列表,其中包含选项Contains
,Equals
,Starts with
,Ends with
。因此,如果我选择Contains
并撰写ik
,我会发现,例如迈克。
现在:
如果我使用自定义过滤器,我只会获得一个大输入,跨越两列,只进行精确搜索。我这样定义我的过滤器:
ransackable_scopes
将其列入白名单。filter :my_filter, as: :string
。如何获得搜索子字符串的功能?
答案 0 :(得分:0)
要搜索子字符串,您必须使用Ransack Search Predicate Syntax,即如果要搜索字段first_name
上的子字符串,则必须按以下方式配置:
filter :first_name_cont, as: :string, label: "Name"
您可以找到更多信息here
我希望它有所帮助。