【问题标题】:Mongomapper regex search queryMongomapper 正则表达式搜索查询
【发布时间】:2013-09-10 06:58:11
【问题描述】:

在我的 Rails 应用程序中,我正在搜索公司名称,并且我正在使用 mongodb 作为后端。 我寻找公司的查询是

@companies = Company.where(name: /#{params[:search]}/i).all

在我的数据库中,我的公司名称为“ABC&D Services Inc.(亚特兰大项目)”,当我尝试使用字符串“ABC&D Services Inc.”搜索该公司时它不会返回任何结果。另外,如果我尝试使用字符串“ABC&D Services Inc.(”进行搜索,它会给我错误end pattern with unmatched parenthesis

任何人都知道如何使用 reg-ex 解决此类问题。最终用户可以使用任何输入执行搜索,所以有办法处理吗?

【问题讨论】:

    标签: ruby-on-rails-3 mongodb ruby-on-rails-3.2 mongomapper


    【解决方案1】:

    Regexp.escape 转义特殊字符:

    @companies = Company.where(name: /#{Regexp.escape(#{params[:search]})}/i).all
    

    【讨论】:

      【解决方案2】:
      @companies = Company.where(name: /#{Regexp.escape(params[:search])}/i)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-05
        • 1970-01-01
        • 1970-01-01
        • 2014-06-02
        • 2023-04-10
        相关资源
        最近更新 更多