我想出了一個數據庫模式,但我覺得它比我的舊SQL習慣更受Rails ORM的影響。這是我開發的模式。 使模型關聯更容易查詢
目前,我已經爲上圖中的所有表格創建了模型,但是在研究關聯之後,我相信我可以使用Rails關聯來生成一些多對多關係表。
在我的PlayerStats#index中,我發現自己在做的事情,如我知道的<%= Year.find(TeamYear.find(TeamUser.find(player_stat.team_user_id).team_year_id).year_id).year %>
不好。所以,我正在尋找關於如何基於上面的規範化模式來建立模型關聯的指導。這是我的猜測:
User.rb 的has_many:team_users
Team.rb belongs_to的:team_year
Year.rb belongs_to的:team_year
Team_Year.rb 的has_many:團隊 has_many:年
Team_User.rb belongs_to:用戶 belongs_to的:team_year HAS_ONE:角色
Game.rb 的has_many:team_years
Player_stats.rb belongs_to的:team_user belongs_to的:遊戲
我不知道如果我在正確的跟蹤與否。此外,我不知道如何利用聲明這些關聯。我一定希望讓Team.name(給出Player_Stat.game_id)比Team.find(TeamYear.find(Game.find(player_stat.game_id).away_team_year_id).team_id).name
容易得多。
我是否努力擁有規範化的數據庫?我應該以不同的方式思考這個問題嗎?我感謝任何幫助或指導。
您是否閱讀本指南? http://guides.rubyonrails.org/association_basics.html – MikDiet 2012-04-22 05:34:03