2010-12-10 7 views
1

Wenn Sie mit mehreren Datenbankverbindungen arbeiten und Modelle für die Arbeit mit diesen verschiedenen Instanzen einrichten, wie richten Sie has_many, has_one, gehört_to, etc ein?Schienen 3, mehrere Datenbankverbindungen und Einrichten von Modellen

Zum Beispiel:

ich eine Datenbank, die gelesen wird, + schreiben, die andere DB-Instanz nur in meiner Rails-Anwendung als Read verwendet. Die DB-Tabelle, die schreibgeschützt ist Ich ziehe eine Liste von Medienelementen (Videos, Bilder und Audios) zurück. In meiner Read + Write DB habe ich eine media_ratings-Tabelle.

Ich habe ein Modell namens AvMedia (Die Nur-Lese-DB) und ein MediaRating-Modell (Read + Write DB). Wie richte ich das AvMedia-Modell so ein: has_one rating und richte das MediaRating-Modell so ein: has_many AvMedia?

Tut mir leid, wenn das verwirrend ist ... Ich versuchte es so gut wie möglich zu erklären.

Antwort

1

Im AvMedia-Modell müssen Sie has_one :rating einschließen und sicherstellen, dass Sie in der entsprechenden Tabelle einen Fremdschlüssel rating_id haben. Sie benötigen auch belongs_to :avmedia in Ihrem Rating-Modell.

Hinter den Kulissen passiert viel Magie, um Ihre Tabellen automatisch miteinander zu verknüpfen, wenn Sie eine Beziehung definieren.

Es klingt wie Sie brauchen nicht die has_many für AvMedia - von dem, was Sie sagten, es scheint, dass es eine Beziehung 1-1 (eine AvMedia hat eine Bewertung, entspricht eine Bewertung mit einer AvMedia). Wenn das nicht stimmt, lass es mich wissen.

+0

danke für den hilfe mann! Genau das habe ich gesucht! Ich beginne zu denken, dass, wenn Sie etwas in Rails zu kompliziert, dann ist es nicht der richtige Weg lol – dennismonsewicz

Verwandte Themen