У меня есть следующие настройки:Несколько внешних ключей с Рубином на Rails
Один matchdays
таблицы с колонкой под названием home_team_id
и один называется visitor_team_id
и team
стола.
My Match модель выглядит следующим образом:
class Match < ActiveRecord::Base
belongs_to :home_team, class_name: "Team", foreign_key: :home_team_id
belongs_to :visitor_team, class_name: "Team", foreign_key: :visitor_team_id
belongs_to :matchday
validates :home_team, presence: true
validates :visitor_team, presence: true
end
И модель команды так:
class Team < ActiveRecord::Base
has_many :matches
has_many :player
end
Теперь это становится сложно (по крайней мере для меня). Я хотел бы иметь возможность позвонить team.matches
и получить все совпадения для команды. Поскольку у каждой команды есть домашние игры, а также игры на дороге.
В настоящее время я получаю ActiveRecord::StatementInvalid
Ошибка, так как она ищет столбец team_id
в таблице матчей.
'дом = Match.where (: home_team_id => self.id) посетитель = Match.where (: visitor_team_id => self.id) возвращение домой + visitor' сделал это. Но мне это кажется странным –