搜索结果未显示

时间:2016-08-02 07:04:37

标签: ruby-on-rails

我在使用特定搜索关键字从PostgreSQL搜索记录时遇到问题,但这里没有显示记录的代码

 filter_text=params[:filter_search]
 @outputs = Output.where("name LIKE '%#{filter_text}%'").order("name ASC")

5 个答案:

答案 0 :(得分:7)

试试这个:

    filter_text=params[:filter_search] 
    @outputs = Output.where("name LIKE ?","%#{filter_text}%").order("name ASC")

答案 1 :(得分:3)

如果您要进行不区分大小写的搜索,请转到GLOBAL_NAME

ILIKE

答案 2 :(得分:3)

而不是:

filter_text=params[:filter_search]
@outputs = Output.where("name LIKE '%#{filter_text}%'").order("name ASC")

尝试以下方法:

filter_text=params[:filter_search]
@outputs = Output.where(["name LIKE ?", "%#{filter_text}%"]).order("name ASC")

答案 3 :(得分:3)

如果您使用ransack gem,它将允许您使用简单方法search。使用ransack,您只需要执行此操作:

@outputs = Output.search(name_cont: params[:filter_search]).result.order("name ASC")

答案 4 :(得分:1)

一种简单的搜索方式是使用Ransack。这为您提供了一种有效的搜索机制。