Rails has_one: poprzez powiązanie
Szyny mająhas_one :through
stowarzyszenie, które pomaga ustanowić powiązanie jeden do jednego z trzecim modelem, przechodząc przez drugi model. Jakie jest rzeczywiste wykorzystanie tego, poza tworzeniem powiązania skrótów, które w przeciwnym razie byłoby dodatkowym krokiem.
Biorąc ten przykład z Railsprzewodnik:
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
może pozwolić nam zrobić coś takiego:
supplier.account_history
które w przeciwnym razie zostałyby osiągnięte jako:
supplier.account.history
Jeśli chodzi tylko o łatwiejszy dostęp, to technicznie może istnieć powiązanie jeden-do-jednego, które łączy model z n-tym modelem przechodzącym przez modele n-1 dla łatwiejszego dostępu. Czy jest coś jeszcze, czego brakuje mi poza skrótem?