1日1%成長するブログ

毎日成長するために仕事/プライベートで得た学びをアウトプットするブログです

railsで多: 多の関連を作る

  • モデルを作る

    • bundle exec rails g model user
    • bundle exec rails g model group
    • bundle exec rails g model group_user
  • テーブルを作る

  • モデル間の関連を作る

class User < ApplicationRecord
  has_many :group_users
  has_many :groups, through: :group_users
end
class GroupUser < ApplicationRecord
  belongs_to :user
  belongs_to :group
end
class Group < ApplicationRecord
  has_many :group_users
  has_many :users, through: :group_users
end

current_user.groups

deviseを使っている状態で上記のようにすると、今のユーザーのグループをまとめて取ってくるのようにできる