我在使用特定搜索关键字从PostgreSQL搜索记录时遇到问题,但这里没有显示记录的代码
filter_text=params[:filter_search]
@outputs = Output.where("name LIKE '%#{filter_text}%'").order("name ASC")
答案 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。这为您提供了一种有效的搜索机制。