目的
Railsでフォロー機能を導入したアプリに、フォローしたユーザー及びフォロワー一覧を表示する、
開発環境
macOS: Big Sur
Rubyバージョン: 2.6.5
Railsバージョン: 6.0.0
前提
-
フォロー機能
が作成されている。 【Rails】フォロー機能の実装(非同期)
手順
はじめに
今回は一覧表示させるために、
ユーザー詳細ページから、フォローしたユーザー及びフォロワー一覧ページへ飛ぶようにします。
ルーティングの設定
まずはルーティングの設定です!
config/routes
#省略
resources :users do
member do
get :followings, :followers
end
end
idが必要なため、member
を使用しています。
アクションの定義
アクションの定義です。
usersコントローラー
に新たに設定していきます。
app/controllers/users_controller.rb
class UsersController < ApplicationController
before_action :set_user, only: [:followings, :followers]
#省略
def followings
@users = @user.followings
end
def followers
@users = @user.followers
end
private
def set_user
@user = User.find(params[:id])
end
end
一覧ページの作成
ユーザー詳細ページにリンクボタンを設置し、一覧表示をさせます。
app/views/users/show.html.erb
<%= link_to "フォロー", followings_user_path(@user) %>
<%= link_to "フォロワー", followers_user_path(@user) %>
app/views/users/followers.html.erb
<p>フォロワー一覧</p><br/>
<% @users.each do |user| %>
<%= user.name %>
<% end %>
app/views/users/followings.html.erb
<p>フォロー一覧</p><br/>
<% @users.each do |user| %>
<%= user.name %>
<% end %>
最後に
以上で、一覧表示の実装は完了です。
CSSは実装していないため、簡素な見た目となっています。
必要に応じて各自編集をお願いします。
では。