[RUBY] So implementieren Sie Suchfunktionen in Rails

Dieses Mal werde ich vorstellen, wie die Suchfunktion in Rails implementiert wird.

Umgebung

Annahme

Richten Sie das Suchrouting ein

routes.rb


get 'search' => 'posts#search'

Erstellen Sie ein Suchformular auf dem Bildschirm mit der Artikelliste

html:index.html.erb


<div class="search-form">
  <%= form_with url: search_path, method: :get, local: true do |f| %>
    <%= f.text_field :keyword, value: @keyword %>
    <%= f.submit "Suche" %>
  <% end %>
</div>
<div class="post-list">
  <% @posts.each do |post| %>
    <%= post.title %>
  <% end %>
</div>

Suchmethode erstellen

Beschreiben Sie Folgendes in post.rb.

post.rb


def self.search(keyword)
  where(["title like? OR body like?", "%#{keyword}%", "%#{keyword}%"])
end

OR gibt den Artikel aus, wenn das Suchwort teilweise teilweise mit Titel oder Text übereinstimmt. (Verwenden Sie AND, wenn Sie nur ausgeben möchten, wenn sowohl Titel als auch Text getroffen werden.)

Suchaktion hinzugefügt

posts_controller.rb


def search
  @posts = Post.search(params[:keyword])
  @keyword = params[:keyword]
  render "index"
end

Damit ist die Suchfunktion abgeschlossen.

Verweise

Recommended Posts

So implementieren Sie Suchfunktionen in Rails
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie eine ähnliche Funktion in Rails
[Rails] So implementieren Sie Scraping
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
So implementieren Sie eine nette Funktion in Ajax mit Rails
Führen Sie devise with Rails ein, um Benutzerverwaltungsfunktionen zu implementieren
So schreiben Sie eine Datumsvergleichssuche in Rails
So installieren Sie jQuery in Rails 6
[Rails] So implementieren Sie die Sternebewertung
So installieren Sie Swiper in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
So ändern Sie den App-Namen in Rails
So fügen Sie ein Video in Rails ein
Verwendung von MySQL im Rails-Tutorial
So erzwingen Sie Codierungskonventionen in Java
[Rails] So konfigurieren Sie das Routing in Ressourcen
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
So implementieren Sie die asynchrone Verarbeitung in Outsystems
Verwendung von credentials.yml.enc aus Rails 5.2
Wie schreibe ich Rails
So deinstallieren Sie Rails
Markdown in Rails implementiert
[Rails] Verwendung von Auswahlfeldern in Ransack
Wie man Rails allgemein ins Japanische übersetzt
[Rails] So implementieren Sie einen Unit-Test eines Modells
So trennen Sie .scss nach Controller in Rails
So fügen Sie die html.erb-Klasse in Rails bedingt hinzu
So erstellen Sie einfach ein Pulldown mit Rails
Verwendung von JQuery in Rails 6 js.erb
So implementieren Sie optimistisches Sperren in der REST-API
[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
So überprüfen Sie Rails-Befehle im Terminal
So implementieren Sie Paginierung in GraphQL (für Ruby)
So implementieren Sie eine Diashow mit Slick in Rails (einzeln und mehrfach nacheinander)
Implementieren Sie die Anwendungsfunktion in Rails
So implementieren Sie UICollectionView mit Code nur in Swift
So stellen Sie die Anzeigezeit in Rails auf japanische Zeit ein
Implementieren Sie die Nachsuchfunktion in der Rails-Anwendung (where-Methode).
[Schienen] Implementieren Sie die Benutzersuchfunktion
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
[Rails] Verwendung von Enum
[Rails, JS] So implementieren Sie die asynchrone Anzeige von Kommentaren
[Rails] Verwendung von Enum
Wie man Schienenrouten liest