Dans ce cours, vous allez apprendre comment créer des relations dans Ruby On Rails, Après avoir lu ce cours sur les associations en Ruby On Rails, vous serez à mesure de:
– Créer une relation entre deux tables
– Comprendre les différentes types de relations
– Comment utiliser les méthodes ajoutés dans vos tables lors de la création des relations
C’est quoi une association (relation) ?
Dans Ruby On Rails, une relation (association) est une connexion entre deux tables , elle qui dérive de la class ActiveRecord.
Pourquoi avons nous besoin de créer une association ?
Nous créons des relations (associations) lorsqu’on développe en Ruby On Rails, par ce que elles rend les opérations sur les tables plus simple et facile et votre code reste très claire,
Par exemple : considérons que notre application Rails contient un table pour les auteurs et une table pour les livres, chaque auteur peut avoir plusieurs livres, sans associations , les déclarations des models ressemblent à cela :
class Author < ApplicationRecord end class Book < ApplicationRecord end
Maintenant,supposons que nous souhaitons ajouté un nouveau livre pour un auteur
existant, nous allons écrire un code comme :
@book = Book.create(published_at: Time.now, author_id: @author.id)
Maintenant considérons que nous voulons supprimé un auteur et tous ces livres,
nous allons écrire un code qui ressemble à ceci :
@books = Book.where(author_id: @author.id) @books.each do |book| book.destroy end @author.destroy
En créant une relation entre deux tables, nous disons à Rails qu’il ya une connexion entre deux tables,
Maintenant nous allons reprendre le code de l’exemple précédent, cette fois-ci en créant une relation entre les deux tables, le code ressemble à ceci :
class Author < ApplicationRecord has_many :books, dependent: :destroy end class Book < ApplicationRecord belongs_to :author end
Avec ce changement, l’ajout d’un nouveau livre pour un auteur existant devient simple et facile, voici le code :
@book = @author.books.create(published_at: Time.now)
et de même la suppression devient un jeux d’enfant, voici le code :
@author.destroy
Dans les prochains chapitre de cours vous apprendre d’avantages sur les différentes type de relations dans ruby on rails
LIRE AUSSI: Comment déployé une application Rails avec Mina, Puma et Nginx
Amos KERNEL
Leave a Comment