Ruby on Rails

ActiveRecord-Assoziationen

has_many, belongs_to, has_one, has_and_belongs_to_many, polymorphic, dependent destroy

24 Interview-Fragen·
Mid-Level
1

Welche Assoziation sollte in einem Comment-Modell verwendet werden, um anzugeben, dass ein Kommentar zwingend zu einem Artikel gehören muss?

Antwort

Die belongs_to-Assoziation wird verwendet, um eine Beziehung zu definieren, bei der ein Datensatz zu einem anderen gehört. In diesem Fall gehört ein Comment zu einem Article. Per Konvention bedeutet dies, dass die comments-Tabelle eine article_id-Spalte enthält, die ein Fremdschlüssel auf die articles-Tabelle ist.

2

Welche Assoziation sollte in einem Article-Modell verwendet werden, um mehrere zugeordnete Kommentare zu ermöglichen?

Antwort

Die has_many-Assoziation definiert eine Eins-zu-viele-Beziehung. Ein Article kann mehrere Comments haben. Diese Assoziation ist das Spiegelbild von belongs_to und speichert keinen Fremdschlüssel in der eigenen Tabelle, sondern erwartet, dass das zugeordnete Modell (Comment) eine article_id-Spalte hat.

3

Welche Assoziation sollte verwendet werden, damit ein Benutzer ein einziges Profil hat, wobei das Profil den Fremdschlüssel enthält?

Antwort

Die has_one-Assoziation definiert eine Eins-zu-eins-Beziehung, bei der das andere Modell den Fremdschlüssel enthält. Im Fall User has_one :profile enthält die profiles-Tabelle eine user_id-Spalte. Dies ist die Umkehrung von has_one/belongs_to, je nachdem, wo sich der Fremdschlüssel befindet.

4

Wie modelliert man eine Viele-zu-viele-Beziehung zwischen Post und Tag mit einer Verbindungstabelle, die zusätzliche Attribute enthält?

5

Was ist das Standardverhalten der Option dependent: :destroy bei einer has_many-Assoziation?

+21 Interview-Fragen

Meistere Ruby on Rails für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten