[Ruby on Rails] Fonction de recherche (non sélectionnée)

Cible

search.gif

Environnement de développement

ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina

supposition

[Ruby on Rails] Fonction de recherche (modèle, formule de sélection de méthode) Après avoir implémenté cela, nous le modifierons.

couler

1 Modifier le contrôleur 2 Modifier la vue

Contrôleur d'édition

Cette fois, je me concentre sur les recherches ambiguës. Si vous voulez une correspondance exacte where(name: @content) Ce sera.

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

Modifier vue

erb:app/views/search.html.erb


<% if @users.present? && @posts.present? %>
  <h3>【Users,Résultats de la recherche de modèles de messages] Mot de recherche:<%= @content %></h3>
  <h4>·Nom d'utilisateur</h4>
  <%= render 'users/index', users: @users %>
  <h4>・ Contenu publié</h4>
  <%= render 'posts/index', posts: @posts %>
<% elsif @users.present? && @posts.empty? %>
  <h3>[Résultats de la recherche du modèle des utilisateurs] Mot de recherche:<%= @content %></h3>
  <h4>·Nom d'utilisateur</h4>
  <%= render 'users/index', users: @users %>
<% elsif @users.empty? && @posts.present? %>
  <h3>[Publie les résultats de la recherche du modèle] Mot de recherche:<%= @content %></h3>
  <h4>・ Contenu publié</h4>
  <%= render 'posts/index', posts: @posts %>
<% else %>
  <h3>Mot de recherche:<%= @content %>Non applicable à</h3>
<% end %>

<détails>

Supplément [en cas d'erreur] </ summary> routage et modèles partiels [Ruby on Rails] Fonction de recherche (modèle, formule de sélection de méthode) Veuillez vous référer ici. </ détails>

Supplément [A propos de présent et vide] [nil? Vide? Vide? Présent? Existe? Utilisons la méthode correctement en fonction de la situation [Rails]](https://qiita.com/takuyanin/items/aa8c1d82ab14f1827a6a) Cela a été expliqué d'une manière facile à comprendre ici.
Supplément [About &&] [Rubis et,&&Et ou,||Différences et précautions](https://qiita.com/riku-shiru/items/533a01bdf18e2e3eef46) Cela a été expliqué d'une manière facile à comprendre ici.

Recommended Posts