Tworząc zależności wiele do wiele możemy wykorzystać przełącznik through i zapisać w danej asocjacji dodatkowe informacje np. relacja Czytelnik - Artykul, może zawierać np. ocenę wystawioną danemu artykułowi. Nie wchodząc w szczegóły jak tworzyć takie związki (na sieci znajduje się kilka dość dobrych tutoriali które łątwo wygooglować), czasami napotkać na poniższy wyjątek:
ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association
Aby rozwiązać ten problem należy pamiętać, że klasa będąca złączeniem musi być jawnie dodana do zależności w klasach bazowych. Na przykładzie:
class Lekarz < ActiveRecord::Base
has_many :placowki, :through => :pracownicy
has_many :pracownicy
end
class Placowka < ActiveRecord::Base
has_many :lekarze, :through => :pracownicy
has_many :pracownicy
end
class Pracownik < ActiveRecord::Base
belongs_to :lekarz
belongs_to :placowka
end
No comments:
Post a Comment