Cette fois, je vais vous présenter comment implémenter la fonction de recherche dans Rails.
--Expliquer en tant que fonction de recherche d'articles sur les sites de blog
routes.rb
get 'search' => 'posts#search'
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 "Chercher" %>
  <% end %>
</div>
<div class="post-list">
  <% @posts.each do |post| %>
    <%= post.title %>
  <% end %>
</div>
Décrivez ce qui suit dans post.rb.
post.rb
def self.search(keyword)
  where(["title like? OR body like?", "%#{keyword}%", "%#{keyword}%"])
end
OU renvoie l'article si le mot-clé de recherche correspond partiellement au titre ou au corps. (Utilisez AND si vous souhaitez afficher uniquement lorsque le titre et le corps sont touchés.)
posts_controller.rb
def search
  @posts = Post.search(params[:keyword])
  @keyword = params[:keyword]
  render "index"
end
Ceci termine la fonction de recherche.
Recommended Posts