I know that \"belongs_to :through\" is not valid. It\'s just my attempt to express what I want to achieve. Just bear with me for a sec...
This is what I have:
<You can define a helper method in your player model:
def division
team.division
end
def league
team.division.league
end
Of course, this only relates to readability of your code and does not affect the form of the database queries involved. If your statement generates multiple SQL queries but you want only one, check out the .include
option here: Rails Guides - Active Record Query Interface
You may try
class Player belongs_to :team has_one :division, :through => :team end
Use delegate in the model class.
class Team < ActiveRecord::Base
belongs_to :division
has_many :players
delegate :league, to: :division
end
Reference: http://api.rubyonrails.org/classes/Module.html#method-i-delegate