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