如何在 rails 中使搜索框不区分大小写?
How to make search box case-insensitive in rails?
我在 Rails 中有简单的搜索表单,但是当我使用搜索框时,我需要准确输入名称。
例如,当我尝试搜索 "more" 时,它 return 什么都没有,但是当我搜索 "More",然后它 return 是记录,因此它似乎以区分大小写的方式运行。
是否可以让这种区分大小写的方式?
这是我的代码
def self.search(search)
if search
star = Star.find_by(who: search)
if star
self.where(star_id: star)
else
Post.all
end
else
Post.all
end
end
你可以这样做:
star = Star.where("UPPER(who) = ?", search.upcase).take
或
star = Star.where("LOWER(who) = ?", search.downcase).take
无论哪种方式,这都会强制执行您的搜索词以及数据库中的 who
值,然后再进行比较,这应该会为您提供所需的结果
我在 Rails 中有简单的搜索表单,但是当我使用搜索框时,我需要准确输入名称。 例如,当我尝试搜索 "more" 时,它 return 什么都没有,但是当我搜索 "More",然后它 return 是记录,因此它似乎以区分大小写的方式运行。
是否可以让这种区分大小写的方式?
这是我的代码
def self.search(search)
if search
star = Star.find_by(who: search)
if star
self.where(star_id: star)
else
Post.all
end
else
Post.all
end
end
你可以这样做:
star = Star.where("UPPER(who) = ?", search.upcase).take
或
star = Star.where("LOWER(who) = ?", search.downcase).take
无论哪种方式,这都会强制执行您的搜索词以及数据库中的 who
值,然后再进行比较,这应该会为您提供所需的结果