Tutoriel Ruby on Rails

Qu'est-ce que Ruby ?

Ruby est un langage de programmation de haut niveau, interprรฉtรฉ et orientรฉ objet. Il sโ€™agit dโ€™un langage open source dynamique soutenu par une grande communautรฉ. Ruby a รฉtรฉ conรงu pour la simplicitรฉ et la productivitรฉ. Il encourage lโ€™รฉcriture de code logiciel humain dโ€™abord et ensuite informatique. Il a รฉtรฉ crรฉรฉ par Yukihiro Matsumoto au Japon en 1995.

Quโ€™est-ce que Rails ?

Rails est un framework de dรฉveloppement รฉcrit en Ruby pour crรฉer des applications Web. Il a รฉtรฉ crรฉรฉ comme base de l'application Basecamp, puis publiรฉ en tant que logiciel open source en 2004. Rails offre de nombreuses caractรฉristiques et fonctionnalitรฉs standard intรฉgrรฉes, ce qui en fait une option appropriรฉe pour le prototypage et le dรฉveloppement MVP.

Il a รฉtรฉ crรฉรฉ par David Heinemeier Hasson, plus connu sous le nom de DHH. C'est l'un des outils les plus influents et les plus populaires pour crรฉer des applications Web. Il est utilisรฉ par certains des sites favoris comme Airbnb, Github, Shopify, etc.

Pourquoi rails ?

Voici les avantages/avantages de lโ€™utilisation de Rails :

  • Rails est prรฉsentรฉ sous la forme d'un joyau Ruby et vous pouvez l'utiliser pour crรฉer diverses applications.
  • Il vous permet de crรฉer des applications Web classiques, des applications de commerce รฉlectronique, un systรจme de gestion de contenu, etc.
  • Rails est un framework full-stack qui comprend tout ce dont vous avez besoin pour crรฉer une application Web basรฉe sur une base de donnรฉes, en utilisant le modรจle Model-View-Controller.
  • Cela signifie que toutes les couches sont conรงues pour fonctionner de maniรจre transparente avec moins de code. Il nรฉcessite moins de lignes de code que les autres frameworks.

Comment tรฉlรฉcharger et installer Ruby sur Windows

Le processus d'installation dรฉpendra de votre systรจme d'exploitation. Vous allez installer Ruby sur Windows, Mac et Linux.

ร‰tape 1) Tรฉlรฉcharger Rubyinstaller
Le moyen le plus simple d'installer Ruby sur votre Windows l'ordinateur se fait via Ruby Installer que vous pouvez tรฉlรฉcharger sur https://rubyinstaller.org/.

Tout ce que vous avez ร  faire est d'exรฉcuter le programme d'installation tรฉlรฉchargรฉ.

ร‰tape 2) Cliquez sur le programme d'installation tรฉlรฉchargรฉ
Double-cliquez sur le programme d'installation tรฉlรฉchargรฉ 'rubyinstaller-2.4.1-2-x64.exe'.

ร‰tape 3) Accepter la licence
Sรฉlectionnez le bouton radio ยซ J'accepte la licence ยป et cliquez sur le bouton ยซ Suivant ยป. Cela devrait vous amener ร  la figure suivante ci-dessous :

Tรฉlรฉchargez et installez Ruby sur Windows

ร‰tape 4) Cochez les deux premiรจres cases
Cochez les deux premiรจres cases pour faciliter l'exรฉcution des scripts Ruby.

Cliquez sur le bouton ยซ Installer ยป pour dรฉmarrer l'installation. Vous devriez voir la figure ci-dessous une fois l'installation terminรฉe.

Tรฉlรฉchargez et installez Ruby sur Windows

ร‰tape 5) Cliquez sur Terminer
Ne dรฉcochez pas la case ร  cocher qui installe MSYS2. Cliquez sur ยซ Terminer ยป pour terminer l'installation et une fenรชtre d'invite de commande illustrรฉe dans la figure ci-dessous s'affichera.

Tรฉlรฉchargez et installez Ruby sur Windows

ร‰tape 6) Installe MSYS2
Cette รฉtape installe MSYS2, une plate-forme de crรฉation dotรฉe d'un gestionnaire de packages pour une installation facile des packages sur Windows.

Appuyez sur Entrรฉe pour installer tous les composants, car ils sont tous nรฉcessaires pour disposer d'un environnement de dรฉveloppement Ruby on Rails fluide avec lequel travailler. Windows.

Tรฉlรฉchargez et installez Ruby sur Windows

Installation des rails

Ruby devrait รชtre installรฉ ร  partir de la section prรฉcรฉdente et vous allez maintenant installer Rails. Vous pouvez installer Rails ร  l'aide d'un package de RailsInstallateur, mais le problรจme est que vous n'obtenez pas la derniรจre version des packages requis.

Si vous avez dรฉjร  installรฉ la derniรจre version de Ruby et un ensemble de base de RubyGems et d'extensions requis. Tout ce que vous avez ร  faire maintenant est d'exรฉcuter la commande suivante ร  l'invite de commande pour obtenir Rails sur votre systรจme : "gem install rails".

Vous devrez รฉgalement installer Node.js si vous ne l'avez pas dรฉjร , car certaines bibliothรจques dont dรฉpend Rails nรฉcessitent un Javascript l'environnement d'exรฉcution pour fonctionner correctement. Vous pouvez obtenir un nล“ud sur https://nodejs.org.

Il sโ€™agit dโ€™une approche plus courante et privilรฉgiรฉe pour dรฉvelopper sur Windows. La communautรฉ Rails utilise un Windows Sous-systรจme pour Linux qui fournit un environnement GNU/Linux avec des outils de ligne de commande, des utilitaires et des applications courantes directement sur Windows.

Installer Ruby sur Mac

Ruby est dรฉjร  prรฉinstallรฉ sur votre Mac. Cependant, la version prรฉinstallรฉe peut รชtre ancienne et vous devrez donc installer une nouvelle/derniรจre version.

Le moyen le plus simple de procรฉder consiste ร  utiliser un gestionnaire de packages tel que Homebrew. Vous devrez peut-รชtre d'abord installer Homebrew en exรฉcutant la commande ci-dessous sur le terminal.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)

Cela affichera un avertissement et vous demandera de saisir votre mot de passe. Entrez votre mot de passe Mac (vous ne verrez pas les caractรจres pendant que vous tapez). Appuyez simplement sur ยซ Entrรฉe ยป lorsque vous avez fini de saisir votre mot de passe. Exรฉcutez ensuite cette simple commande Homebrew pour installer Ruby sur votre Mac.

brew install ruby

Et exรฉcutez รฉgalement cette commande :

echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile

Pour dรฉfinir cette installation de Ruby comme Ruby par dรฉfaut ร  exรฉcuter sur votre systรจme et non comme Ruby prรฉinstallรฉ.

Pour confirmer que l'installation a rรฉussi, vous pouvez exรฉcuter ce qui suit sur le terminal

ruby --version

cela imprimera le numรฉro de version Ruby que vous avez installรฉ. La sortie ressemblera ร  quelque chose comme

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

Installer Ruby sur Ubuntu (Linux)

Le moyen le plus simple d'installer Ruby sur votre Ubuntu systรจme se fait via le gestionnaire de paquets apt. Vous devez exรฉcuter les commandes suivantes sur le terminal pour installer la derniรจre version de Ruby ร  partir de Ubuntu rรฉfรฉrentiels.

  • sudo apt mise ร  jour โ€“ Cela mettra ร  jour la valeur par dรฉfaut Ubuntu code source
  • sudo apt installer ruby-full โ€“ Il tรฉlรฉchargera et installera la derniรจre version de Ruby

Pour confirmer que l'installation a rรฉussi, vous pouvez exรฉcuter la commande suivante 'rubis โ€“version,' cela imprimera la version de Ruby que vous avez installรฉe.

Installation de rails sur Ubuntu (Linux)

Vous devez suivre les รฉtapes ci-dessous pour installer avec succรจs Rails sur votre machine Linux.

ร‰tape 1) Mettez ร  jour le gestionnaire de gemmes de votre ordinateur en exรฉcutant 'mise ร  jour des gemmes โ€“ systรจme' au terminal ou ร  l'invite de commande.

ร‰tape 2) Courir 'rails d'installation de pierres prรฉcieuses' pour installer la derniรจre version de Rails sur votre ordinateur.

ร‰tape 3) Vous devez installer bundler gem pour une gestion facile des dรฉpendances des gems des applications Rails. Courir 'bundle d'installation de gemmes' pour l'obtenir.

Deux principes de Rails

Rails suit les principes de base de la conception logicielle et vous encourage รฉgalement ร  utiliser ces principes.

Les deux plus courants sont :

  • Ne vous rรฉpรฉtez pas (DRY) โ€“ cela vous oblige ร  รฉcrire du code concis, cohรฉrent et maintenable.
  • Convention sur la configuration โ€“ Rails est prรฉconfigurรฉ pour utiliser des valeurs par dรฉfaut sensibles qui correspondent ร  l'utilisation la plus courante. Cela accรฉlรจre le dรฉveloppement de votre application et vous avez รฉgalement moins de code ร  maintenir.

Rails โ€“ Structures de fichiers de projet

Avec Rails maintenant installรฉ sur votre systรจme, crรฉons une application Rails ! Nous apprendrons des exemples Ruby on Rails et comment crรฉer une application de liste Todo dans ce didacticiel Ruby on Rails. Exรฉcutez la commande suivante 'monte le nouveau todo_app' dans votre Terminal pour crรฉer lโ€™application.

Cette commande crรฉe un rรฉpertoire nommรฉ 'todo_app' dans le rรฉpertoire courant avec la structure de dossiers de base d'une application Web Rails, comme le montre la figure ci-dessous :

Rails โ€“ Structures de fichiers de projet

Vous passerez en revue les rรฉpertoires principaux dans cet exemple Ruby on Rails.

appli โ€“ Ce rรฉpertoire regroupe diffรฉrents sous-rรฉpertoires pour lโ€™interface utilisateur/la mise en page (vues et assistants), le contrรดleur (fichiers de contrรดleurs) et les modรจles (logique mรฉtier/application).

application/contrรดleurs โ€“ Ce rรฉpertoire stocke les fichiers de contrรดleur utilisรฉs par Rails pour gรฉrer les requรชtes du client.

application/actifs โ€“ Il contient des fichiers statiques, ce qui est nรฉcessaire pour le front-end de l'application, regroupรฉs dans des dossiers en fonction de leur type โ€“ Javascรฉnario fichiers, images et feuilles de style.

application/aides โ€“ Ce sous-rรฉpertoire contient des fonctions d'assistance qui rendent votre modรจle d'application, votre vue et la logique de votre contrรดleur ciblรฉs, petits et รฉpurรฉs.

application/modรจles โ€“ Celui-ci contient des fichiers

qui modรฉlisent la base de donnรฉes de votre application. Les classes de modรจles facilitent grandement le travail avec la base de donnรฉes.

application/vues โ€“ Ces fichiers de modรจle/mise en page sont conservรฉs avec lesquels l'utilisateur de votre application interagit. Les modรจles sont une combinaison de HTML et de donnรฉes de la base de donnรฉes.

poubelle - Il contient des scripts Rails qui dรฉmarrent votre application. Il peut รฉgalement inclure d'autres scripts que vous utilisez pour configurer et mettre ร  niveau l'application.

Configuration โ€“ Ceci contient les fichiers de configuration โ€“ base de donnรฉes.yml, environnement.rb, routes.rb, etc. dont votre application a besoin pour s'exรฉcuter.

DB- Ce rรฉpertoire contient des fichiers/scripts utilisรฉs pour gรฉrer la base de donnรฉes de votre application.

lib โ€“ Ce rรฉpertoire contient un module รฉtendu pour votre application.

Journal - Celui-ci contient des fichiers journaux โ€“ server.log, development.log, test.log et production.log, etc., qui sont utilisรฉs pour dรฉboguer ou surveiller votre application.

publique - Ce rรฉpertoire contient des fichiers statiques et des ressources compilรฉes, telles que des fichiers HTML, Javascript fichiers, images et feuilles de style.

test - Ce rรฉpertoire contient les fichiers de test que vous รฉcrivez pour tester les fonctionnalitรฉs de votre application.

tmp โ€“ Ce rรฉpertoire contient des fichiers temporaires comme des fichiers cache et pid.

vendeur - Ce rรฉpertoire contient des bibliothรจques tierces.

Fichier gemme โ€“ Ce fichier spรฉcifie quelles sont vos exigences de base en matiรจre de gem pour exรฉcuter votre application Web. Vous pouvez regrouper les gemmes en dรฉveloppement, test ou production et Rails saura quand inclure chaque gemme.

Gemfile.lock โ€“ Contrairement au Gemfile qui rรฉpertorie explicitement les gemmes que vous souhaitez dans votre application, Gemfile.lock contient en outre d'autres gemmes dont dรฉpendent celles que vous rรฉpertoriez dans le Gemfile et qui sont ensuite automatiquement installรฉes pour satisfaire les dรฉpendances.

Lisezmoi.md โ€“ Vous utilisez ce fichier pour partager des dรฉtails essentiels sur votre application, tels que ce que fait l'application, comment procรฉder pour l'installer et l'exรฉcuter.

Fichier Rake โ€“ Ce fichier contient diverses dรฉfinitions de tรขches de rake, ce qui aide ร  automatiser les tรขches d'administration quotidiennes de votre application.

config.ru โ€“ Il s'agit d'un fichier de configuration Rack qui fournit une interface au serveur Web pour dรฉmarrer votre application.

Changez de rรฉpertoire pour le 'todo_app' rรฉpertoire Rails gรฉnรฉrรฉ et exรฉcutรฉ 'serveur Rails' pour dรฉmarrer l'application. Taper localhost: 3000 dans la barre d'adresse de votre navigateur Web, vous devriez voir la figure ci-dessous si tout s'est bien passรฉ.

Rails โ€“ Structures de fichiers de projet

Il s'agit de la page d'accueil par dรฉfaut de votre application, et vous la modifierez dans la section ultรฉrieure de ce didacticiel Ruby on Rails. Vous pouvez arrรชter le serveur en appuyant sur 'Ctrl-C'.

Rails โ€“ Gรฉnรฉrer des commandes

La commande Rails generate utilise des modรจles pour crรฉer de nombreuses choses utiles dans votre application. Vous pouvez utiliser ces gรฉnรฉrateurs pour gagner beaucoup de temps.

Cela aide en รฉcrivant du code passe-partout, le code nรฉcessaire au fonctionnement de votre application Web. Tu peux courir 'les rails gรฉnรจrent' par lui-mรชme ร  l'invite de commande ou au terminal pour voir une liste des gรฉnรฉrateurs disponibles comme indiquรฉ ci-dessous :

Rails โ€“ Gรฉnรฉrer des commandes

Vous pouvez aussi courir 'les rails gรฉnรจrent une "commande"' pour voir une description de ce que fait la commande. Il offre des options pratiques qui peuvent รชtre exรฉcutรฉes avec la commande et l'exemple d'utilisation. La figure ci-dessous montre le rรฉsultat de l'exรฉcution'les rails gรฉnรจrent un contrรดleur':

Rails โ€“ Gรฉnรฉrer des commandes

Vous utiliserez la commande rails generate scaffold pour crรฉer automatiquement le modรจle, la vue et le contrรดleur pour l'application de liste de tรขches que vous crรฉez. Courir'les rails gรฉnรจrent un รฉchafaudage todo_list title:string description: text' dans votre Terminal (vรฉrifiez que vous รชtes toujours dans le rรฉpertoire todo_app).

Cela crรฉera une interface Web CRUD complรจte (Crรฉer, lire, mettre ร  jour et supprimer) pour la table TodoLists.

Une autre commande utile ร  connaรฎtre est "les rails dรฉtruisent", รงa inverse quoi que ce soit 'les rails gรฉnรจrentโ€ฆ' t.

Rails โ€“ routage

Le systรจme de routage Rails, Rails Router, gรจre toutes les requรชtes entrantes vers votre application Web. Pour ce faire, il examine l'URL des requรชtes entrantes, puis mappe chaque requรชte ร  l'action du contrรดleur responsable de son traitement, en utilisant une syntaxe spรฉciale spรฉcifiรฉe dans le fichier de routes (config / routes.rb).

Le fichier routes aide ร  contrรดler chaque aspect URL de votre application Web. Rails utilise par dรฉfaut une conception RESTful basรฉe sur le style architectural REST, qui fournit un mappage entre les verbes HTTP et les requรชtes (URL) vers les actions du contrรดleur.

Le fichier de routes a รฉtรฉ gรฉnรฉrรฉ lorsque vous avez exรฉcutรฉ 'rails neufs' dans une section prรฉcรฉdente de ce didacticiel. En continuant avec l'application Todo que vous crรฉez, exรฉcutez ce qui suit'rails db: migrer' (vous saurez ce que cela fait sous peu)

Dans votre ligne de commande, assurez-vous que vous รชtes toujours ร  la racine de l'application (le rรฉpertoire todo_app).

Puis redรฉmarrez le serveur avec 'serveur Rails'. Type http://localhost:3000/todo_lists/ dans votre navigateur et appuyez sur Entrรฉe. Vous devriez rรฉcupรฉrer une page Web comme le montre la figure ci-dessous de l'exemple Ruby on Rails :

Rails โ€“ Routage

Il s'agit de la vue des listes Todo gรฉnรฉrรฉe par la commande scaffold et elle est contrรดlรฉe par l'action d'indexation de TodoListsController.

Allez-y et ajoutez une liste de tรขches en cliquant sur ยซ Nouvelle liste de tรขches ยป sur la page, vous devriez obtenir la page comme indiquรฉ ci-dessous :

Rails โ€“ Routage

Notez que l'URL est modifiรฉe en http://localhost:3000/todo_lists/new. Il s'agit de la page permettant de crรฉer une nouvelle liste de tรขches, et elle est contrรดlรฉe par la nouvelle mรฉthode/action de TodoListsController.

Entrez le titre et la description de votre liste de tรขches dans le formulaire et cliquez sur le bouton Crรฉer une liste de tรขches, l'URL devrait devenir http://localhost:3000/todo_lists/1, illustrรฉ dans la figure ci-dessous de l'exemple de code Ruby on Rails :

Rails โ€“ Routage

Il s'agit de la page d'affichage d'une liste de tรขches, et elle est contrรดlรฉe par la mรฉthode/action show de TodoListsController. Si tu retournes ร  http://localhost:3000/todo_lists/, vous devriez maintenant voir la figure ci-dessous avec une nouvelle liste de tรขches ajoutรฉe :

Rails โ€“ Routage

Rails a pu mapper les diffรฉrentes requรชtes (URL) ร  l'action TodoListsController correspondante en utilisant la dรฉfinition de route dans config/routes.rb.

Si vous jetez un ล“il ร  ce fichier, vous voyez une seule ligne 'ressources : listes de tรขches', est la maniรจre par dรฉfaut de Rails d'รฉcrire des itinรฉraires reposants. Cette seule ligne crรฉe sept routes, toutes mappรฉes vers le contrรดleur TodoLists.

Par convention, l'action de chaque contrรดleur correspond รฉgalement ร  une opรฉration CRUD (Crรฉer, Lire, Mettre ร  jour et Supprimer) spรฉcifique dans la base de donnรฉes.

Tu peux courir 'itinรฉraires de rรขteau' dans votre ligne de commande pour voir les diffรฉrentes routes disponibles dans votre application. La figure ci-dessous montre le rรฉsultat de l'exรฉcution ยซ itinรฉraires ferroviaires ยป dans votre ligne de commande/terminal.

Rails โ€“ Routage

Rails โ€“ vues

La couche View est l'un des composants du paradigme MVC et est chargรฉe de gรฉnรฉrer une rรฉponse HTML pour chaque requรชte adressรฉe ร  votre application. Rails utilise par dรฉfaut ERB (Embedded Ruby) qui est un puissant systรจme de modรจles pour Ruby.

ERB rend l'รฉcriture de modรจles facile et maintenable en combinant du texte brut avec du code Ruby pour la substitution de variables et le contrรดle de flux. Un modรจle ERB a l'extension .html, .erb ou .erb.

Vous utiliserez principalement une combinaison de deux marqueurs de balises uniquement, chacun d'entre eux entraรฎnant le traitement et la gestion du code intรฉgrรฉ d'une maniรจre particuliรจre.

Une balise avec un signe รฉgal '<%= %>' indique que le code incorporรฉ est une expression et que le rรฉsultat du code doit รชtre remplacรฉ par le moteur de rendu lors du rendu du modรจle.

L'autre balise sans signe รฉgal '<% %>' indique au moteur de rendu que le rรฉsultat du code ne doit pas รชtre substituรฉ/imprimรฉ lors du rendu du modรจle.

Chaque contrรดleur de votre application Rails possรจde un sous-rรฉpertoire correspondant dans application/vues, et chaque action/mรฉthode dans un contrรดleur a un fichier .html et .erb correspondant dans ce rรฉpertoire.

Jetez un ล“il aux applications/vues de lโ€™application Todo que vous crรฉez. Vous trouverez un sous-rรฉpertoire nommรฉ 'listes_de tรขches' dans ce sous-rรฉpertoire .html.erb fichiers avec des noms correspondant aux actions/mรฉthodes dans le Listes de tรขches contrรดleur.

Rails โ€“ ActiveRecord, Active Record Pattern et ORM

ActiveRecord est l'implรฉmentation Ruby du modรจle Active Record, qui est un modรจle simple dans lequel une classe reprรฉsente une table et une instance de la classe reprรฉsente une ligne dans cette classe.

ActiveRecord est communรฉment appelรฉ ORM (Object Relational Mapping), une technique qui vous permet de gรฉrer votre base de donnรฉes en utilisant un langage avec lequel vous รชtes le plus ร  l'aise. Il est indรฉpendant des bases de donnรฉes, vous pouvez donc facilement basculer entre les bases de donnรฉes (par exemple SQLite, MySQL, PostgreSQL, Serveur SQL, Oracle, etc.). Cette suite rรฉpond davantage aux besoins de votre application avec le mรชme code/logique.

Ainsi, si vous souhaitez obtenir un tableau contenant une liste de toutes les listes de tรขches de votre application, au lieu d'รฉcrire du code pour initier une connexion ร  la base de donnรฉes, puis d'effectuer une sorte de requรชte SQL SELECT et de convertir ces rรฉsultats en un tableau.

Pour cela, il vous suffit de taper 'TodoList.all' et Active Record vous donne le tableau rempli d'objets TodoList avec lesquels vous pouvez jouer ร  votre guise.

Tout ce que vous avez ร  faire est de configurer la bonne configuration dans config/base de donnรฉes.yml, et Active Record rรฉsoudra toutes les diffรฉrences entre les diffรฉrents systรจmes de base de donnรฉes. Ainsi, lorsque vous passez de lโ€™un ร  lโ€™autre, vous nโ€™avez pas besoin dโ€™y penser.

Vous vous concentrez sur l'รฉcriture du code pour votre application et Active Record rรฉflรฉchira aux dรฉtails de bas niveau de votre connexion ร  votre base de donnรฉes. Active Record utilise des conventions de dรฉnomination pour crรฉer le mappage entre les modรจles et les tables de base de donnรฉes.

Rails pluralise les noms de vos classes de modรจles pour trouver la table de base de donnรฉes correspondante. Ainsi, pour une classe TodoList, ActiveRecord crรฉera une table de base de donnรฉes appelรฉe TodoLists.

Rails โ€“ Migrations

La migration Rails est simplement un script que vous utilisez pour modifier la base de donnรฉes de votre application. Il est utilisรฉ pour configurer ou modifier votre base de donnรฉes et รฉvite d'รฉcrire manuellement du code SQL pour ce faire.

Il utilise Ruby pour dรฉfinir les modifications apportรฉes au schรฉma de la base de donnรฉes et permet d'utiliser le contrรดle de version pour maintenir votre base de donnรฉes synchronisรฉe.

Les migrations Rails utilisent un langage spรฉcifique au domaine Ruby (DSL). Cela agit comme une abstraction et permet d'utiliser ou de modifier votre moteur de base de donnรฉes en fonction de vos besoins.

Ils peuvent รชtre partagรฉs avec toute personne travaillant sur l'application et peuvent รฉgalement รชtre annulรฉs pour annuler toute modification apportรฉe ร  la base de donnรฉes. Il s'agit d'un mรฉcanisme de haute sรฉcuritรฉ car vous n'avez pas ร  vous soucier de causer des dommages permanents ร  votre base de donnรฉes.

Rails โ€“ Associations ActiveRecord

Une connexion entre deux modรจles ActiveRecord est appelรฉe association. L'association facilite grandement l'exรฉcution d'opรฉrations sur les diffรฉrents enregistrements de votre code. Il peut รชtre divisรฉ en quatre catรฉgories : โ€“

Seul ร  seul: โ€“ Cela indique qu'un enregistrement contient prรฉcisรฉment une instance d'un autre modรจle. Un bon exemple est le profil utilisateur. Un utilisateur n'a qu'un seul profil. Il utilise en a un mot-clรฉ.

Un ร  plusieurs: โ€“ Il s'agit de l'association la plus courante et elle indique qu'un modรจle a zรฉro ou plusieurs instances d'un autre modรจle. Votre utilisation a beaucoup mot-clรฉ pour dรฉsigner cette association.

Plusieurs ร  plusieurs: โ€“ Cette association est un peu plus compliquรฉe et ActiveRecord propose deux faรงons de la gรฉrer. En utilisant le a_et_appartient_ร _beaucoup et a beaucoup, qui vous donne accรจs ร  la relation dรฉfinie dans un tableau sรฉparรฉ.

Polymorphe un ร  plusieurs:- Il s'agit d'une association plus avancรฉe ร  votre disposition dans Rails. Vous pouvez l'utiliser pour dรฉfinir un modรจle pouvant appartenir ร  de nombreux modรจles diffรฉrents sur une seule association.

Rails โ€“ Validations ActiveRecord

La validation permet de garantir que vous disposez de donnรฉes correctes, car travailler avec des donnรฉes erronรฉes est une chose horrible et pourrait vous coรปter de l'argent et de l'entreprise.

La validation fournit รฉgalement une couche de sรฉcuritรฉ supplรฉmentaire ร  votre application contre les utilisateurs malveillants qui accรจdent aux informations de votre base de donnรฉes. Rails vous propose une belle API d'aides ร  la validation dans ActiveRecord pour garder votre base de donnรฉes propre, sรฉcurisรฉe et exempte d'erreurs.

Les validations ActiveRecord s'exรฉcutent sur les objets du modรจle avant de les enregistrer dans la base de donnรฉes, ce qui les rend plus fiables et constitue รฉgalement une bonne pratique ร  suivre lors de la crรฉation de votre application.

Les mรฉthodes ActiveRecord suivantes รฉvoquent des validations lorsqu'elles sont utilisรฉes ou appelรฉes sur des objets de modรจle : crรฉez, crรฉez !, enregistrez, enregistrez !, mettez ร  jour et mettez ร  jour !. Ceux qui ont du punch (crรฉer !, sauvegarder ! et mise ร  jour !) dรฉclenche une exception si un enregistrement n'est pas valide alors que ce n'est pas le cas.

Les aides ร  la validation ActiveRecord les plus courantes ร  votre disposition sont : -

Confirmation:โ€“ Cette aide ร  la validation est utile pour valider que deux champs ont la mรชme entrรฉe. Par exemple, mot de passe et confirmation de mot de passe, il est utilisรฉ conjointement avec l'assistant de validation de prรฉsence.

Prรฉsence:โ€“ Cela vรฉrifie que le champ nโ€™est pas vide.

unicitรฉ : garantit une valeur unique pour un champ, par exemple le nom d'utilisateur

Longueur:- Pour imposer une limite sur la longueur des caractรจres d'un champ

Vous pouvez รฉgalement crรฉer votre validation personnalisรฉe en utilisant la mรฉthode validate et en lui transmettant le nom de la mรฉthode de validation personnalisรฉe.

Vous pouvez vรฉrifier le modรจle erreur objet pour savoir pourquoi une validation. J'espรจre que vous avez quelques idรฉes pour rendre votre application plus contrainte et plus sรฉcurisรฉe afin d'autoriser uniquement les donnรฉes sรฉcurisรฉes dans votre base de donnรฉes.

Rails โ€“ ActionController

Le contrรดleur Rails est le centre de votre application Web. Il facilite et coordonne la communication entre l'utilisateur, les modรจles et les vues.

Vos classes de contrรดleur hรฉritent de ApplicationController, qui contient du code qui peut รชtre exรฉcutรฉ dans tous les autres contrรดleurs et hรฉrite de la classe ActionController.

Le contrรดleur fournit les รฉlรฉments suivants ร  votre application :

  • Il achemine les demandes externes vers des actions internes
  • Il parvient ร  mettre en cache, amรฉliorant ainsi les performances de votre application
  • Il gรจre les mรฉthodes d'assistance qui รฉtendent les capacitรฉs des modรจles de vue. Il gรจre รฉgalement les sessions des utilisateurs, leur offrant une expรฉrience fluide en utilisant votre application.

Rails โ€“ Configurations

Vous pouvez configurer les diffรฉrents composants tels que les initialiseurs, les actifs, les gรฉnรฉrateurs, les middlewares, etc. En utilisant les initialiseurs et les fichiers de configuration de votre application Rails dans le rรฉpertoire de configuration. Des fichiers comme config/application.rb, config/environments/development.rb et config/environments/test.rb etc. Vous pouvez รฉgalement configurer des paramรจtres personnalisรฉs pour votre application.

Rails โ€“ Dรฉbogage

Au fur et ร  mesure que vous dรฉveloppez votre application, il viendra un moment oรน vous devrez dรฉboguer votre code. Rails facilite cela en utilisant la gemme byebug. Vous pouvez dรฉmarrer une session de dรฉbogage en plaรงant le mot-clรฉ ยซ byebeg ยป n'importe oรน dans le code de votre application.

Cela arrรชtera temporairement l'exรฉcution ร  ce stade. La gemme byebug vous propose plusieurs commandes ร  utiliser. Les plus utiles sont :

  • next: commande qui permet de passer ร  la ligne de code suivante, en sautant toutes les mรฉthodes invoquรฉes par l'exรฉcution de la ligne en cours.
  • รฉtape: ceci est similaire ร  la commande ยซ suivant ยป mais vous fera accรฉder ร  chaque commande invoquรฉe.
  • pause: cela arrรชte l'exรฉcution du code.
  • continuer continue l'exรฉcution du code.

Il existe d'autres outils de dรฉbogage disponibles, tels que ยซ pry ยป, et ils offrent tous des fonctionnalitรฉs similaires mais une syntaxe lรฉgรจrement diffรฉrente. Les gemmes de dรฉbogage ne doivent pas รชtre utilisรฉes en production car cela prรฉsente des risques pour votre application et une mauvaise expรฉrience pour les utilisateurs de votre application.

Il existe des fichiers journaux que vous pouvez inspecter pour dรฉtecter les erreurs de production et les gรฉrer. En outre, vous devez suivre une approche TDD (Test-driven development) lors du dรฉveloppement de votre application pour vous assurer que tout fonctionne bien avant le dรฉploiement en production.

Rรฉsumรฉ

  • Ruby est un pur langage de programmation orientรฉ objet
  • Ruby a une syntaxe รฉlรฉgante, ร  la fois facile ร  lire et ร  รฉcrire.
  • Rails est un framework de dรฉveloppement, รฉcrit en Ruby, pour crรฉer des applications Web
  • Le processus d'installation dรฉpendra de votre systรจme d'exploitation.
  • Rails est prรฉsentรฉ sous la forme d'un joyau Ruby et vous pouvez l'utiliser pour crรฉer diverses applications.
  • Vous allez crรฉer une application de liste Todo dans ce didacticiel, exรฉcuter le followincomm'n'n' 'rails netoda'p'p'p' dans votre terminal R pour crรฉer l'application.
  • La commande Rails generate utilise des modรจles pour crรฉer de nombreuses choses utiles dans votre application.
  • Le systรจme de routage Rails, Rails Router, vous aide ร  gรฉrer toutes les demandes entrantes vers votre application Web.
  • La couche View est l'un des composants du paradigme MVC et est chargรฉe de gรฉnรฉrer une rรฉponse HTML pour chaque requรชte adressรฉe ร  votre application.
  • ActiveRecord est l'implรฉmentation Ruby du modรจle Active Record.
  • La migration Rails est simplement un script que vous utilisez pour modifier la base de donnรฉes de votre application.
  • Une connexion entre deux modรจles ActiveRecord est appelรฉe association.
  • La validation permet de garantir que vous disposez de donnรฉes correctes, car travailler avec des donnรฉes erronรฉes est une chose horrible et pourrait vous coรปter de l'argent et de l'entreprise.
  • Le contrรดleur Rails vous aide ร  faciliter et ร  coordonner la communication entre l'utilisateur, les modรจles et les vues.
  • Rail vous aide ร  configurer les diffรฉrents composants tels que les initialiseurs, les actifs, les gรฉnรฉrateurs, les middlewares, etc.

Rรฉsumez cet article avec :