私は、現時点ではレール上のルビーを使って作業しています。私のモデルの間の関係を狭くしようとしています。Matches
、Teams
。2チーム間でのマッチのためのレールマイグレーション
の場合は1回、awayTeam
の場合は1回、Teams
テーブルを参照するようにしたいと考えています。私の最大の疑問は、自分のモデルで関係を間違って宣言していることでしょうか?
現時点では、私は試合でチームの名前を呼ぶことさえできません。
私は、teamMatchesを呼び出して、チームが持っているすべての試合を、homeTeamまたはawayTeamとしてリストされているかどうかリストすることができ、最終的に特定のチームのホームマッチまたはアウェイマッチを呼び出すことができます。
また、Match.teams/Match.homeTeam/Match.awayTeamを呼び出して、特定の試合のチームをリストしたいと考えています。
ここで私がこれまで持っているものです。
マッチ移行
class CreateMatches < ActiveRecord::Migration def change create_table :matches do |t| t.references :homeTeam t.references :awayTeam end end end
マッチモデル
class Match < ActiveRecord::Base has_one :homeTeam, :class_name => 'Team' has_one :awayTeam, :class_name => 'Team' end
チームモデル
class Team < ActiveRecord::Base has_and_belongs_to_many :matches end
ありがとうございます!
私は 'Players'テーブルを組み込み、それらのモデルを使用してMatch.homeTeam/Match.awayTeamの選手を呼ぶことができるだろうか、私はする必要がありますチームをマッチにも参加させる方法を見つけますか?あなたはこのMatch.find(your_match_id).hometeam.players'のような選手に電話をして、すべてのホームチームを見つけることができます。 「Match」 「has_many:teams」「has_many:players、through::teams」 – DesertOctopi
既にプレイヤーとチームの関連付けを宣言している場合に限ります。 – pyfl88