Un bijou qui vous permet d'implémenter facilement la fonctionnalité de recherche avec moins de code. C'est facile à configurer et vous pouvez faire beaucoup de choses.
Gemfile
gem 'ransack'
$ bundle install
① Le paramètre de recherche est ": q" ②Ransack version form_for est "search_form_for" ③ Les résultats de la recherche peuvent être obtenus par la "méthode des résultats"
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| %>
#La recherche de correspondance partielle est possible pour la colonne de nom
<%= f.label :name_cont, "Y compris le nom du produit" %>
<%= f.search_field :name_cont %>
<div class="actions"><%= f.submit "Chercher" %></div>
<% end %>
Vous pouvez modifier une recherche différente en changeant simplement le nom dans f.search_field: name_cont.
méthode de récupération | sens |
---|---|
*_eq | égal |
*_cont | Match partiel |
*_lteq | Moins que |
*_gteq | c'est tout |
*_start | Commence par |
*_end | terminer par |
Recommended Posts