usersコントローラにアクションを追加するのではなく、followersコントローラを新たに作成してindexアクションを作成しようと思います。

Sayo-MacBook-Pro:emoji_diary SAYO$ bundle exec rails generate controller followers index
Running via Spring preloader in process 59679
      create  app/controllers/followers_controller.rb
      invoke  erb
      create    app/views/followers
      create    app/views/followers/index.html.erb

コントローラを作成したので、これに関するルーティングを追加しようと思います。

resources :users, only: [:new, :create, :index] do
    resources :followers, only: [:index]
end

作成したコントローラを実装していきます。

class FollowersController < ApplicationController
  def index
    @users = @user.followings
  end
end

ヘッダーにフォロワーの日記一覧を表示するリンクを追加します。

<li class='nav-item'>
  <%= link_to t('defaults.follower_diary'), user_followers_path(current_user), class: 'nav-link' %>
</li>

リンクをクリックすると、followers#indexに遷移しました。

次にfollowers/index.html.erbに週間カレンダーを実装していきたいです。ここで使うのは以前に導入したsimple_calendarです。

<% @users.each do |user| %>
  <h2><%= user.nickname %></h2>
  <% @diaries = Diary.where(user_id: user.id) %>
  <%= week_calendar events: @diaries do |date, diaries| %>
    <%= date %>
    <% diaries.each do |diary| %>
      <%= link_to diary.feeling, user_diary_path(user, diary) %>
    <% end %>
  <% end %>
<% end %>

これでフォローしている人の日記の一覧画面が表示されました。今回の実装で、やりたかったけどできなかったことをメモしておきます。

ウィークリーカレンダー一つに全員の感情絵文字を表示したいのですが、simple_calendarが用意しているビューファイルの形成がいまいちわかっていないのあってうまくいかなかったです。画面遷移ももっと突き詰めて考えないといけないです。