0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Topページを絞り込みたい!

Posted at

【Rails】Topページを絞り込むページ作成!

はじめに

本記事ではTOPページで検索したものを他ページで表示するコードを記載しています

前提

  • 記事のテーブルはtweets
  • tweetsで検索する文字列はbody
  • indexページ(index.html.erb)に検索フォーム、searchページ(search.html.erb)検索結果を表示

手順

search.html.erb作成

↑の名前のファイルを自分のテーブル名のViewファイルの中に作成しましょう!
その中に一度自分のindexページ(index.html.erb)をコピペして入れておきましょう!
何かindexページと違う文字など入れておくとわかりやすいです🔥

ルーティング設定

config/routes.rb
get 'search' => 'tweets#search'

検索フォーム作成

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 "検索" %>
  <% end %>
</div>

↑Viewを作成。

検索機能の追加

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

↑こちらではkeywordで受け取った中身をbodyの中から探してきています。

tweets_controller.rb
def search
  @tweets = Tweet.search(params[:keyword])
  @keyword = params[:keyword]
  render "search"
end

↑ここで@tweetsの中身にキーワードで選んだ投稿のみを入れることができます!

参考文献

Railsで検索機能を実装する方法
https://qiita.com/Yusuke_Hoirta/items/159e63bcc5e99958d698

終わりに

この機能をつけることでrailsでTOPページを違う形で表示することができます!
楽しみながらプログラミングしていきましょう🔥

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?