Ruby on Rails

Asocjacje ActiveRecord

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

24 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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.

4

Jak zamodelować relację wiele-do-wielu między Post a Tag z tabelą łączącą zawierającą dodatkowe atrybuty?

5

Jakie jest domyślne zachowanie opcji dependent: :destroy w asocjacji has_many?

+21 pytań z rozmów

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