【问题标题】:How to make search box case-insensitive in rails?如何在rails中使搜索框不区分大小写?
【发布时间】:2020-12-03 09:36:40
【问题描述】:

我在 Rails 中有简单的搜索表单,但是当我使用搜索框时,我需要准确输入名称。 例如,当我尝试搜索 "more" 时,它不会返回任何内容,但是当我搜索 "More" 时,它会返回记录,所以它似乎它的行为区分大小写。

是否可以使这种区分大小写的方式?

这是我的代码

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

【问题讨论】:

标签: ruby-on-rails search filtering ruby-on-rails-6 case-insensitive


【解决方案1】:

你可以这样做:

star = Star.where("UPPER(who) = ?", search.upcase).take

star = Star.where("LOWER(who) = ?", search.downcase).take

无论哪种方式,这都会在比较您的搜索词以及数据库中的 who 值之前强制它们进行比较,这应该会为您提供所需的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 2013-10-18
    • 2011-01-14
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多