Rails - Verwendung von has_and_belongs_to_many-Verknüpfung mit zusammengesetzten Primärschlüsseln

8

Ich verwende Dr.Nic Composite Primary Keys für Schienen (http://compositekey.rubyforge.org/)

In den Beispielen hat er has_many und gehört zu relation, aber nicht has_and_belongs_to_many

Meine Assoziation funktioniert gut von Büchern zu Genres (Bücher hat einen zusammengesetzten Schlüssel des Titels und Autors), aber Genre zu Büchern versucht, die Spalte book_id abzufragen, die in der Join-Tabelle nicht existiert, und löst einen Fehler aus.

%Vor%

Bearbeiten: Ich habe es auch mit der Option :association_foreign_key im Genre-Modell

arbeiten lassen %Vor%     
Vall3y 30.11.2012, 17:59
quelle

1 Antwort

7

Gemäß dem Ruby on Rails Style Guide :

  

Lieber has_many: bis has_and_belongs_to_many. Mit has_many: through können zusätzliche Attribute und Validierungen für das Join-Modell verwendet werden.

Das würde dein Problem lösen: Du hättest nur has_many und gehört zu Relationen, kein HABTM;)

In Ihrem Fall:

%Vor%

Sie müssen möglicherweise den Tippfehler für den Fremdschlüssel ändern, ich bin nicht vertraut mit primären zusammengesetzten Schlüsseln.

    
MrYoshiji 30.11.2012, 18:29
quelle

Tags und Links