やりたいこと
自分が所属するグループを取り出し、indexに並べたいです。
わからないこと
自分が作成したグループでは自分の user_idがあるので表示できるのですが、他のユーザーが作成したグループに所属している場合そのグループを自分のページに表示することができません。
対象のコード
なお、以下ではグループのことをUnionとしています。
自分が作成したグループは Group モデルにある user_id から取得しindexに表示できます。
<% @unions.each do |union| %> <div class="users-index-item"> <div class="user-left"> <img src="<%= "/union_images/#{union.image_name}" %>"> </div> <div class="user-right"> <%= link_to(union.name, "/unions/#{union.id}", class: "text-weight") %> <br> <%= link_to(union.title, "/unions/#{union.id}")%> </div> <br> <div class="post-menus-right"> <p>メンバー数: <%= UnionUser.where(union_id: union.id).count + 1%>人</p> </div> </div> <% end %>
def unions @user = User.find_by(id: params[:id]) @unions = Union.where(user_id: @user.id).order(created_at: :desc) end
そして他人のグループに参加する際には UnionUserテーブルを作り管理しています。
class UnionUser < ApplicationRecord belongs_to :user belongs_to :union end
他人の作成したグループに所属するときは user_idに自分の@user.id
union_idに参加したグループの@union.idが追加されます。
どのようにして自分が参加している、他人のグループの情報を持ってこれるのでしょうか?
ご協力お願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/23 23:55