Ein Juwel, mit dem Sie Suchfunktionen einfach mit weniger Code implementieren können. Es ist einfach einzurichten und es gibt viele Dinge, die Sie tun können.
Gemfile
gem 'ransack'
$ bundle install
① Der Suchparameter lautet ": q" ②Ransack-Version form_for ist "search_form_for" ③ Suchergebnisse können mit der "Ergebnismethode" abgerufen werden.
controller.rb
class ProductsController < ApplicationController
def index
@q = Product.ransack(params[:q])
@products = @q.result(distinct: true)
end
end
view.html.erb
<%= search_form_for @q do |f| %>
#Für die Namensspalte ist eine teilweise Übereinstimmungssuche möglich
<%= f.label :name_cont, "Einschließlich Produktname" %>
<%= f.search_field :name_cont %>
<div class="actions"><%= f.submit "Suche" %></div>
<% end %>
Sie können eine andere Suche ändern, indem Sie einfach den Namen in f.search_field: name_cont ändern.
Abrufmethode | Bedeutung |
---|---|
*_eq | gleich |
*_cont | Teilübereinstimmung |
*_lteq | Weniger als |
*_gteq | das ist alles |
*_start | Beginnt mit |
*_end | Ende mit |
Recommended Posts