Ich bin ein Anfänger mit Ruby auf Schienen im Moment arbeiten, versuchen, Beziehungen zwischen meinen Modellen Matches
, Teams
nageln.Schienen Migration für Spiele zwischen 2 Teams
Ich möchte meine Übereinstimmungen beziehen sich auf die Tabelle Teams
zweimal, einmal für eine homeTeam
und eine andere für awayTeam
. Ich denke, meine größte Frage ist, erkläre ich Beziehungen in meinen Modellen falsch?
Im Moment kann ich nicht einmal den Namen einer Mannschaft durch ein Spiel nennen.
Ich möchte in der Lage sein, Team.matches aufzurufen, alle Spiele aufzulisten, die ein Team hat, egal ob als HomeTeam oder awayTeam aufgeführt, und eventuell die Heim- oder Auswärtsspiele für ein bestimmtes Team aufrufen kann.
Ich möchte auch Match.teams/Match.homeTeam/Match.awayTeam aufrufen können, um die Teams eines bestimmten Spiels aufzulisten.
Hier ist, was ich bisher habe:
Spiel Migration
class CreateMatches < ActiveRecord::Migration def change create_table :matches do |t| t.references :homeTeam t.references :awayTeam end end end
Spiel Modell
class Match < ActiveRecord::Base has_one :homeTeam, :class_name => 'Team' has_one :awayTeam, :class_name => 'Team' end
Team Modell
class Team < ActiveRecord::Base has_and_belongs_to_many :matches end
Vielen Dank im Voraus!
Kann ich meine 'Players' Tabelle zu übernehmen und die Spieler eines Match.homeTeam/Match.awayTeam nennen diese Modelle verwenden, oder muss ich zu Finde einen Weg, um die Teams auch zu Matches zu machen? Denken wie 'Match' ' has_many: Mannschaften '' has_many: Spieler durch: Mannschaften ' – DesertOctopi
können Sie Spieler nennen wie diese' Match.find (your_match_id) .hometeam.players' alle Heimmannschaft finden Spieler, vorausgesetzt, Sie haben bereits die Assoziationen zwischen Spieler und Team festgelegt. – pyfl88