Files
kondiplo_front/app/models/participant.rb

30 lines
814 B
Ruby

class Participant < ApplicationRecord
belongs_to :user
belongs_to :game
has_many :board_memberships, dependent: :destroy
has_many :boards, through: :board_memberships
has_many :board_posts, dependent: :destroy
# バリデーション
validates :user_id, uniqueness: {
scope: :game_id,
message: "既にこのゲームに参加しています"
}
validates :power, uniqueness: {
scope: :game_id,
message: "この国は既に選択されています"
}, allow_nil: true
validates :power, inclusion: {
in: %w[AUSTRIA ENGLAND FRANCE GERMANY ITALY RUSSIA TURKEY],
message: "無効な国です"
}, allow_nil: true
# 表示名:国名が設定済みなら国名、未設定ならユーザー名
def display_name
power.present? ? power : user.username
end
end