Bir başarının iki yolu, activerecord ile ilişkisine sahip olmanın en iyi yolu nedir?ActiveRecord, iki ilişkilendirmeye sahiptir
Bir Takım ve Oyun modelim var. Her takımda_many oyunları var @team.games
. Bir oyun iki takım @game.hosting_team
ve @game.opposing_team
olacaktır.
İki belongs_to/has_one
dernek ile başlattım ama daha sonra @team.games
yalnızca kendi ev oyunlarını döndürürdü.
Düşünebildiğim diğer seçenek HABTM kullanmaktır ve yalnızca kayıt olduğundan emin olmak için bir doğrulayıcı kullanmaktadır. Eksik olan tek şey ev takımını takip etmektir. Bir dernek ile bir çok ihtiyacı var gibi görünüyor ama tam olarak emin değilim ...
Yardımlarınız için teşekkürler.
Bu, iki has_many ilişkilendirmesinin nasıl göründüğüne bir örnektir. Buradaki sorun ben böyle bir şey istiyorum oyunlarına
class Team < ActiveRecord::Base
has_many :games
has_many :opponents, :class_name => "Team"#, :foreign_key => ""
end
class Game < ActiveRecord::Base
belongs_to :team, :class_name => "Team" #, :foreign_key => "team_id"
belongs_to :opponent, :class_name => "Team" #, :foreign_key => "opponent_id"
end
tam bir listesini elde etmek için team.games
ve team.opponents
aramak zorunda kalacak ama nasıl işler belongs_to bu besbelli değil.
class Team < ActiveRecord::Base
has_many :games
end
class Game < ActiveRecord::Base
belongs_to :hosting_team
belongs_to :opposing_team
end
İstenilen api'm buna benzer.
@team.games # return all games home or away
@game.hosting_team # Team
@game.opposing_team # Team
Eğer modelin ilişkilerini calrify ve Can belki db/schema.rb'nizi gönderebilir misiniz? –
Teşekkürler. Soruyu düzenledim. – jspooner