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