在我的 rails 应用程序中,我试图根据某些条件搜索用户模型。
特别是,我有一个位置字段,它是一个字符串,我想根据它是否包含搜索字符串来搜索这个字段。例如,如果我搜索位置为“牛津”的用户,我希望它也返回具有该变体的用户,例如“牛津,英格兰”。
在网上搜索了这个问题的答案后,我似乎应该在 activerecord 搜索中使用 LIKE 关键字,但对我来说这只是返回完全匹配。
这是我的搜索方法中的代码片段
conditions_array = []
conditions_array << [ 'lower(location) LIKE ?', options[:location].downcase ] if !options[:location].empty?
conditions = build_search_conditions(conditions_array)
results = User.where(conditions)
难道我做错了什么?还是使用 LIKE 不是实现目标的正确方法?