Qu’est-ce que l’échafaudage dans Ruby on Rails?

Vous êtes peut-être en train d’apprendre Rails & vous avez lu que vous devez créer un « échafaudage » pour démarrer votre application Rails…

Facile!

Vous pouvez le faire en utilisant la commande rails g scaffold.

Mais qu’est-ce qu’un échafaudage ?

« L’échafaudage est une structure temporaire utilisée pour soutenir une équipe de travail afin de faciliter la construction, l’entretien et la réparation des bâtiments, des ponts et de toutes les autres structures construites par l’homme. » – Wikipedia

Traduit en Rails:

Un échafaudage est un ensemble de fichiers générés automatiquement qui forme la structure de base d’un projet Rails.

Ces fichiers comprennent:

  • Un contrôleur
  • Un modèle
  • Des vues pour chaque action standard du contrôleur (index, modifier, montrer, nouveau)

Un nouvel itinéraire.

Et une migration pour préparer votre base de données.

Voyons un exemple !

Comment utiliser la commande Rails Scaffold

Un exemple de scaffolding d’un projet pour un site web sur les livres ressemblerait à ceci.

rails g scaffold books

Vous devriez voir beaucoup de texte défiler, qui détaille les fichiers en cours de création.

Cet exemple crée :

  • Un BooksController
  • Un modèle Book
  • Un nouvel resources :books itinéraire ajouté à votre fichier config/routes.rb
  • Un ensemble de fichiers liés aux tests
  • Voir les fichiers sous app/views/books (cinq au total)

Oui.

C’est beaucoup de choses.

Si vous voulez défaire cet échafaudage, juste après l’avoir créé, vous pouvez utiliser la commande suivante.

rails d scaffold books

Où « d » signifie « détruire ».

N’oubliez pas que cela SUPPRIMERa les fichiers créés par le processus d’échafaudage.

Maintenant :

Avant de pouvoir utiliser votre code échafaudé, vous devez exécuter vos migrations pour mettre à jour le schéma de votre base de données.

Utilisez la commande rails db:migrate.

Si aucun message d’erreur ne s’affiche, vous êtes prêt ! Vous avez une structure de base pour votre nouvelle application Rails, ou pour une nouvelle fonctionnalité qui nécessite un nouveau modèle, des vues &un contrôleur correspondant.

Suivant:

Exécutez rails server.

Ouvrez votre navigateur à localhost:3000/books &vous devriez être en mesure de voir les résultats !

Échafaudage de rails avec des champs supplémentaires

Par défaut…

Votre modèle ne reçoit que des champs d’horodatage, ce qui signifie que la seule information que vous pouvez enregistrer sur vos livres (ou tout autre modèle avec lequel vous travaillez) est l’heure à laquelle ils ont été créés, ou mis à jour.

Voici comment échafauder avec des champs supplémentaires :

rails g scaffold books title:string author:string publication_year:integer

Si vous générez votre échafaudage comme ceci, vous aurez 3 champs avec lesquels travailler.

Un titre, un auteur, et une année de publication.

C’est un peu plus intéressant que d’avoir simplement les horodatages de la base de données.

Btw.

C’est la même syntaxe que nous utilisons pour créer des migrations avec rails g migration.

Générer des composants spécifiques

L’échafaudage crée des choses dont vous n’avez peut-être pas besoin ou que vous ne voulez pas pour le moment.

Mais Rails est sympa.

Vous pouvez créer des composants individuels, comme des contrôleurs, en utilisant la commande rails g (g pour generate).

Exemples:

  • rails g controller Fruit
  • rails g model Fruit name:string color:string (crée le modèle + la migration)
  • rails g migration CreateBook title:string year:integer (crée la migration uniquement)

L’un des grands avantages de l’utilisation d’une commande d’échafaudage est que tous les fichiers sont créés en utilisant les conventions de nommage correctes, ce qui évite les messages d’erreur étranges. Cela vous épargne également le travail d’avoir à créer manuellement ces fichiers.

Btw…

Il est considéré comme une bonne pratique de supprimer les fichiers générés automatiquement que vous ne prévoyez pas d’utiliser. Donc, après avoir utilisé un générateur comme « g controller », examinez la liste des fichiers créés &supprimez ceux dont vous n’avez pas besoin.

Résumé

Vous avez appris l’échafaudage en Ruby afin que vous puissiez rapidement démarrer une nouvelle application Rails pour vous entraîner.

A mesure que vous apprendrez davantage, vous voudrez peut-être laisser tomber l’échafaudage.

Mais vous pouvez toujours générer des contrôleurs, des modèles ou des fichiers de vue individuels lorsque vous en avez besoin.

Merci d’avoir lu ! 🙂

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.