Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails搜索框_Ruby On Rails_Search_Activerecord - Fatal编程技术网

Ruby on rails Rails搜索框

Ruby on rails Rails搜索框,ruby-on-rails,search,activerecord,Ruby On Rails,Search,Activerecord,因此,我的应用程序中有一个搜索框,但是只有当搜索与提交的内容完全匹配时,它才会返回结果,而不是类似的结果。这是我的搜索方法代码 def self.search(search) if search where(:title => ["title LIKE ?", "#{search}"]) else all end end “title LIKE?”似乎不会返回与查询类似的结果,只返回完全相同的结果 我错过了什么?试试这个 where

因此,我的应用程序中有一个搜索框,但是只有当搜索与提交的内容完全匹配时,它才会返回结果,而不是类似的结果。这是我的搜索方法代码

def self.search(search)
    if search
        where(:title => ["title LIKE ?", "#{search}"])
    else
        all
    end
end
“title LIKE?”似乎不会返回与查询类似的结果,只返回完全相同的结果

我错过了什么?

试试这个

where(["title LIKE ?", "%#{search}%"])
试试这个

where(["title LIKE ?", "%#{search}%"])

如果要避免字符串查询(使用arel),还有另一种方法:


如果要避免字符串查询(使用arel),还有另一种方法:


我还尝试了where([“title LIKE?”,“#{search}]”),我建议您使用类似sphinx或elasticsearch的东西。它们很容易使用,我也尝试过where([“title LIKE?”,“#{search}]),我建议您使用sphinx或elasticsearch之类的工具。它们很容易使用