我知道"belongs_to:through"是无效的,它只是我试图表达我想要达到的目标,只是忍受我一段时间......
这就是我得到的:
class League
has_many :divisions
end
class Division
belongs_to :league
has_many :teams
end
class Team
belongs_to :division
has_many :players
end
class Player
belongs_to :team
end
Run Code Online (Sandbox Code Playgroud)
现在,为了制作"棒球卡"视图表格,我需要:
name
team.name
team.division.name
team.division.league.name
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法设置"belongs_to:through"直接从'players_controller'访问'division.name'而没有'team'.字首 ??我必须从"播放器"到"分区"访问许多列,因此寻找一种方法来"直接"访问这些列.
一个选项是在'players'表中包含'division_id'列,但我被告知它会破坏关系数据模型,因为如果数据选择功能没有得到妥善处理,它将允许不一致(例如玩家A在A组,在A组,但是玩家A的division_id列设置为B组.
是否有可能形成一个"象征性的联系",例如"分裂"现在指的是'team.division','联盟'现在指的是'team.division.league'?
或者,每次使用完整路径是唯一真正的选择吗?
希望有人能提供帮助.
Br,Jonas