Rails has_one: a través de la asociación
Rieles tiene unahas_one :through
asociación que ayuda a configurar una asociación uno a uno con un tercer modelo pasando por un segundo modelo. ¿Cuál es el uso real de eso además de hacer una asociación de accesos directos, que de otra manera estaría a un paso adicional de distancia?
Tomando este ejemplo de los rielesguía:
class Supplier < ActiveRecord::Base
has_one :account
has_one :account_history, :through => :account
end
class Account < ActiveRecord::Base
belongs_to :supplier
has_one :account_history
end
class AccountHistory < ActiveRecord::Base
belongs_to :account
end
podría permitirnos hacer algo como:
supplier.account_history
que de otro modo se alcanzaría como:
supplier.account.history
Si es solo para un acceso más simple, técnicamente podría haber una asociación uno a uno que conecte un modelo con un modelo nth pasando por los modelos n-1 para un acceso más fácil. ¿Hay algo más que me esté perdiendo además del atajo?