第一种方法:使用ransack的gem包的方法
1.gemfile文件中添加:gem 'ransack',然后bundle以下(需要重启rails server才能使用,否侧会出现nomethoderror的报错)
2.前端表单:
<%= form_tag search_path, method: :get do %>
<div >
<%= search_field_tag("q[name_cont]", params["q"] && params["q"]["name_cont"], placeholder: "默认提示")%>
</div>
<% end %>
3.后台控制器方法:
@q = Game.ransack(params[:q])
@games = @q.result(distinct:false)
第二种方法:简单易懂的前端表单方法,但是后端代码做模糊查询取数据时要用手写SQL
前端代码:
<%=
form_tag("/search", method:"get")do%> <%=label_tag(:q,"Search
for:") %> <%=text_field_tag(:q)%> <%=submit_tag("Search")%><%
end %>@game=Game.where("name like ?","%#{params[:name]}%")



被折叠的 条评论
为什么被折叠?



