diff --git a/app/models/favorite.rb b/app/models/favorite.rb index d0ff4bd..921a7c3 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -1,5 +1,6 @@ class Favorite < ApplicationRecord belongs_to :user + has_one :party def party Party.find(self.party_id) diff --git a/app/models/party.rb b/app/models/party.rb index f11eebc..fed6dd8 100644 --- a/app/models/party.rb +++ b/app/models/party.rb @@ -2,6 +2,8 @@ class Party < ApplicationRecord ##### ActiveRecord Associations belongs_to :user, optional: true belongs_to :raid, optional: true + belongs_to :favorite, optional: true + has_many :characters, foreign_key: "party_id", class_name: "GridCharacter", dependent: :destroy has_many :weapons, foreign_key: "party_id", class_name: "GridWeapon", dependent: :destroy has_many :summons, foreign_key: "party_id", class_name: "GridSummon", dependent: :destroy diff --git a/app/models/user.rb b/app/models/user.rb index 12d64eb..b54636a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -3,6 +3,7 @@ class User < ApplicationRecord ##### ActiveRecord Associations has_many :parties, dependent: :destroy + has_many :favorites, dependent: :destroy ##### ActiveRecord Validations validates :username, @@ -35,4 +36,8 @@ class User < ApplicationRecord ##### ActiveModel Security has_secure_password + + def favorite_parties + self.favorites.map { |favorite| favorite.party } + end end