を用いてDM機能を実装した際、チャットページに飛ぶリンクをユーザーの一覧表示ページ以外に実装したい!と思ったことがある方も多いと思います。
そこで、一度DMのやりとりをしたことがある人に関しては、以下の画像のようにユーザーのマイページからチャットを再び再開できるようにしようと思います。(LINEのマイページみたいなイメージですかね)
解説は気が向いたら書きます!
#view/users/show.html.erb
<% if current_user.id == @user.id %>
<h3>チャット一覧</h3>
<% @rooms.each do |r| %>
<% r.users.each do |u| %>
<% if u.id == current_user.id %>
<% else %>
<p><a href="/rooms/<%= r.id %>"><%= u.name %>さんとのチャット</a></p>
<% end %>
<% end %>
<% end %>
<% else %>
<% end %>
#models/user.rb
#追記
has_many :rooms, through: :entries, source: :room
#models/room.rb
#追記
has_many :users, through: :entries, source: :user
#UsersController#show
#追記
@user = User.find(params[:id])
@rooms = @user.rooms