[Ruby on Rails] Suchfunktion (nicht ausgewählt)

Ziel

search.gif

Entwicklungsumgebung

ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina

Annahme

[Ruby on Rails] Suchfunktion (Modell, Methodenauswahlformel) Nachdem wir dies implementiert haben, werden wir es bearbeiten.

fließen

1 Controller bearbeiten 2 Ansicht bearbeiten

Controller bearbeiten

Dieses Mal konzentriere ich mich auf mehrdeutige Suchen. Wenn Sie eine genaue Übereinstimmung wünschen where(name: @content) Es wird sein.

app/controllers/searchs_controller.rb


class SearchsController < ApplicationController
  def search
    @content = params["content"]
    @users = User.where('name LIKE ?', '%'+@content+'%')
    @posts = Post.where('title LIKE ?', '%'+@content+'%')
  end
end

Ansicht bearbeiten

erb:app/views/search.html.erb


<% if @users.present? && @posts.present? %>
  <h3>【Users,Beiträge Modellsuchergebnisse] Suchwort:<%= @content %></h3>
  <h4>·Nutzername</h4>
  <%= render 'users/index', users: @users %>
  <h4>・ Geposteter Inhalt</h4>
  <%= render 'posts/index', posts: @posts %>
<% elsif @users.present? && @posts.empty? %>
  <h3>[Benutzermodell Suchergebnisse] Suchwort:<%= @content %></h3>
  <h4>·Nutzername</h4>
  <%= render 'users/index', users: @users %>
<% elsif @users.empty? && @posts.present? %>
  <h3>[Beiträge Modellsuchergebnisse] Suchwort:<%= @content %></h3>
  <h4>・ Geposteter Inhalt</h4>
  <%= render 'posts/index', posts: @posts %>
<% else %>
  <h3>Suchbegriff:<%= @content %>Gilt nicht für</h3>
<% end %>
Ergänzung [bei Fehler] Routing und Teilvorlagen [[Ruby on Rails] Suchfunktion (Modell, Methodenauswahlformel)](https://qiita.com/japwork/items/e6ee225970b50ea5d796) Bitte beziehen Sie sich hier.
Ergänzung [Über Gegenwart und leer] [nil? Leer? Leer? Vorhanden? vorhanden? Verwenden wir die Methode entsprechend der Situation [Rails]](https://qiita.com/takuyanin/items/aa8c1d82ab14f1827a6a). Es wurde hier leicht verständlich erklärt.
Ergänzung [About &&] [Ruby und,&&Und oder,||Unterschiede und Vorsichtsmaßnahmen](https://qiita.com/riku-shiru/items/533a01bdf18e2e3eef46) Es wurde hier leicht verständlich erklärt.

Recommended Posts