в предыдущем вопросе я был озадачен .. но переполнение стека дало решение
две мои модели
class Team < ActiveRecord::Base
has_many :fixtures, :finder_sql => 'SELECT * FROM fixtures where (home_team = #{id} or away_team = #{id})'
has_many :home_fixtures, :class_name => "Fixtures", :foreign_key => :home_team
has_many :away_fixtures, :class_name => "Fixtures", :foreign_key => :away_team
has_many :teamalias
end
class Fixture < ActiveRecord::Base
belongs_to :league
belongs_to :selection
has_many :selection
named_scope :for_team_id, lambda{|team_id| {:conditions => ['(home_team = ? or away_team = ?)', team_id, team_id]} }
belongs_to :home_team, :class_name => "Team", :foreign_key => :home_team
belongs_to :away_team, :class_name => "Team", :foreign_key => :away_team
def fix_list
[home_team.title, "Draw", away_team.title]
end
end
взято из
Многоуровневые ассоциации в рельсах
но я опять озадачен - я пытаюсь сохранить прибор, основанный на последнем решении в первом ответе выше, и получаю несоответствие типов:
Команда (# 38391330) ожидается, получила строку (# 1242130)
не знаю, что здесь делать, пожалуйста, помогите.
edit- db migrations
Вот миграция
класс CreateFixtures
t.timestamps
end
конец
def self.down
drop_table: расписание
конец
конец
класс CreateTeams
t.timestamps
end
конец
def self.down
drop_table: команды
конец
конец
класс AddResultToFixture
def self.down
remove_column: fixtures,: result
конец
конец