
Asocjacje ActiveRecord
has_many, belongs_to, has_one, has_and_belongs_to_many, polymorphic, dependent destroy
1Której asocjacji należy użyć w modelu Comment, aby wskazać, że komentarz musi należeć do artykułu?
Której asocjacji należy użyć w modelu Comment, aby wskazać, że komentarz musi należeć do artykułu?
Odpowiedź
Asocjacja belongs_to służy do zdefiniowania relacji, w której rekord należy do innego. W tym przypadku Comment należy do Article. Zgodnie z konwencją oznacza to, że tabela comments zawiera kolumnę article_id będącą kluczem obcym do tabeli articles.
2Której asocjacji należy użyć w modelu Article, aby umożliwić posiadanie wielu powiązanych komentarzy?
Której asocjacji należy użyć w modelu Article, aby umożliwić posiadanie wielu powiązanych komentarzy?
Odpowiedź
Asocjacja has_many definiuje relację jeden-do-wielu. Article może mieć wiele Comment. Ta asocjacja jest lustrzanym odbiciem belongs_to i nie przechowuje klucza obcego we własnej tabeli, lecz oczekuje, że powiązany model (Comment) ma kolumnę article_id.
3Której asocjacji należy użyć, aby użytkownik miał jeden profil, gdzie profil zawiera klucz obcy?
Której asocjacji należy użyć, aby użytkownik miał jeden profil, gdzie profil zawiera klucz obcy?
Odpowiedź
Asocjacja has_one definiuje relację jeden-do-jednego, w której drugi model zawiera klucz obcy. W przypadku User has_one :profile tabela profiles będzie zawierać kolumnę user_id. Jest to odwrotność has_one/belongs_to w zależności od tego, gdzie znajduje się klucz obcy.
Jak zamodelować relację wiele-do-wielu między Post a Tag z tabelą łączącą zawierającą dodatkowe atrybuty?
Jakie jest domyślne zachowanie opcji dependent: :destroy w asocjacji has_many?
+21 pytań z rozmów
Inne tematy rekrutacyjne Ruby on Rails
Podstawy Ruby
Programowanie obiektowe w Ruby
Podstawy Rails
Routing & Controllers
Podstawy ActiveRecord
Widoki i szablony ERB
Zaawansowane zapytania ActiveRecord
Formularze Rails
Uwierzytelnianie i autoryzacja
Nowoczesny Asset Pipeline i frontend
Tryb API Rails
Testowanie z RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategie cachowania
Zaawansowane migracje
Rails Engines i aplikacje modułowe
Optymalizacja wydajności
Wzorce projektowe w Rails
Metaprogramowanie w Ruby
Bezpieczeństwo Rails
GraphQL z Rails
Wdrażanie i Produkcja
Monitoring & Logging
Strategie aktualizacji Rails
Opanuj Ruby on Rails na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo