Ruby on Rails ubuntu

Comprendre les relations dans Ruby On Rails

Partagez sur:

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


Partagez sur: