【问题标题】:Search for item name from multiple fields on Ruby on Rails从 Ruby on Rails 上的多个字段中搜索项目名称
【发布时间】:2017-02-28 10:50:19
【问题描述】:

我正在尝试启用对某个项目的搜索,然后在搜索完成后列出该项目。我可以让它在两种情况下都工作,但不能同时工作。我的代码:

def search
    @results=0
        if !params[:searchinput].empty?
            @results=1
            @searchinput = params[:searchinput]
            @searchcriteria="%#{params[:searchinput]}%"
            @productlist = Product.where("productname like ? OR description like ?", @searchcriteria)
    end
end

我收到以下错误: productlist 语句的格式是否错误?

【问题讨论】:

  • 如果要对两个?s使用相同的术语,则需要通过@searchcriteria两次;否则它会认为你忘记了一个。
  • @philomory 我不知道这是怎么从我的脑海里传出来的。谢谢!

标签: ruby-on-rails ruby search


【解决方案1】:

问题是你必须传入两个变量。如果那是@searchcriteria,那就把它传进去。

def search
    @results=0
        if !params[:searchinput].empty?
            @results=1
            @searchinput = params[:searchinput]
            @searchcriteria="%#{params[:searchinput]}%"
            @productlist = Product.where("productname like ? OR description like ?", @searchcriteria, @second_variable)
    end
end

【讨论】:

    【解决方案2】:

    productlist 语句应如下所示:

    @productlist = Product.where("productname like ? OR description like ?", @searchcriteria, @searchcriteria)
    

    【讨论】:

      猜你喜欢
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      相关资源
      最近更新 更多