Comment construire une application Ruby on Rails

introduction

Rails est un cadre d’application Web écrit à l’adresse Ruby. Il adopte une approche avisée en matière de développement d’applications, en supposant que les conventions définies servent au mieux les développeurs s’il existe un objectif commun. Rails offre donc des conventions de gestion du routage, des données avec état, de la gestion des ressources, etc., pour fournir les fonctionnalités de base nécessaires à la plupart des applications Web.

Rails suit le modèle architectural model-view-controller (MCV), qui sépare la logique d’une application, située dans les modèles. , de l’acheminement et de la présentation des informations d’application. Cette structure organisationnelle, ainsi que d’autres conventions permettant aux développeurs d’extraire du code dans helpers et https://api.rubyonrails.org/classes/ActionView/ PartialRenderer.html [partiels] - garantit que le code de l’application n’est pas https://en.wikipedia.org/wiki/Don%27t_repeat_yourself&replay répété inutilement].

Dans ce didacticiel, vous allez créer une application Rails qui permettra aux utilisateurs de publier des informations sur les requins et leur comportement. Ce sera un bon point de départ pour le développement futur d’applications.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

  • Une machine locale ou un serveur de développement exécutant Ubuntu 18.04. Votre machine de développement doit avoir un utilisateur non root avec des privilèges d’administration et un pare-feu configuré avec + ufw +. Pour savoir comment configurer cela, consultez notre tutoriel https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04 (Configuration initiale du serveur avec Ubuntu 18.04]).

  • https://nodejs.org [Node.js] et npm installés sur votre ordinateur local ou votre serveur de développement. Ce tutoriel utilise la version Node.js et la version npm. Pour obtenir des conseils sur l’installation de Node.js et de npm sur Ubuntu 18.04, suivez les instructions de la section «Installation à l’aide de PPA» de la page https://www.digitalocean.com/community/tutorials/how-to-install-node-js- on-ubuntu-18-04 # installation-using-a-ppa [Comment installer Node.js sur Ubuntu 18.04].

  • Ruby, rbenv et Rails installés sur votre ordinateur local ou votre serveur de développement, en suivant les étapes 1 à 4 de la https://www.digitalocean.com/community/tutorials/how- installer-ruby-on-rails-with-rbenv-on-ubuntu-18-04 [Comment installer Ruby sur des rails avec rbenv sur Ubuntu 18.04]. Ce tutoriel utilise Ruby, Rbenv et Rails.

Étape 1 - Installation de SQLite3

Avant de créer notre application Rails Shark, nous devrons nous assurer de disposer d’une base de données pour stocker les données utilisateur. Rails est configuré pour utiliser SQLite par défaut, ce qui est souvent un bon choix en développement. Comme nos données d’application ne nécessitent pas une extensibilité de programmation de haut niveau, SQLite répondra à nos besoins.

Tout d’abord, mettez à jour votre index de paquet:

sudo apt update

Ensuite, installez les paquets + sqlite3 + et + + libsqlite3-dev +:

sudo apt install sqlite3 libsqlite3-dev

Cela installera SQLite et ses fichiers de développement requis.

Vérifiez votre version pour confirmer que l’installation a réussi:

sqlite3 --version
Output 2018-01-22 18:45:57

Avec SQLite installé, vous êtes prêt à commencer à développer votre application.

Étape 2 - Création d’un nouveau projet Rails

Avec notre base de données installée, nous pouvons créer un nouveau projet Rails et consulter une partie du code standard que Rails nous donne avec le `+rails new + ` commander.

Créez un projet appelé ++ avec la commande suivante:

rails new

Vous verrez beaucoup de résultats vous dire ce que Rails crée pour votre nouveau projet. La sortie ci-dessous met en évidence certains fichiers, répertoires et commandes importants:

Output     create
    . . .
    create  Gemfile
    . . .
     create  app
     . . .
     create  app/controllers/application_controller.rb
     . . .
     create  app/models/application_record.rb
     . . .
     create  app/views/layouts/application.html.erb
     . . .
     create  config
     create  config/routes.rb
     create  config/application.rb
     . . .
     create  config/environments
     create  config/environments/development.rb
     create  config/environments/production.rb
     create  config/environments/test.rb
     . . .
     create  config/database.yml
     create  db
     create  db/seeds.rb
     . . .
        run  bundle install
     . . .
Bundle complete! 18 Gemfile dependencies, 78 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
     . . .
* bin/rake: Spring inserted
* bin/rails: Spring inserted

La sortie mise en surbrillance ici indique que Rails a créé les éléments suivants:

  • + Gemfile +: Ce fichier répertorie les dépendances de gemmes pour votre application. Un gem est un progiciel Ruby et un Gemfile vous permet de gérer les besoins en logiciels de votre projet.

  • + app +: le répertoire + app + est l’endroit où réside le code de votre application principale. Cela inclut les modèles, les contrôleurs, les vues, les actifs, les aides et les expéditeurs qui composent l’application elle-même. Rails vous fournit un modèle standard au niveau de l’application pour que le modèle MCV démarre dans des fichiers tels que + app / models / application_record.rb +, + app / controllers / application_controller.rb + et `+ app / views / layouts / application .html.erb + `.

  • + config +: Ce répertoire contient les paramètres de configuration de votre application:

  • + config / routes.rb +: Les déclarations de route de votre application résident dans ce fichier.

  • + config / application.rb +: Ce fichier contient les paramètres généraux de vos composants d’application.

  • + config / environment +: Ce répertoire est l’endroit où résident les paramètres de configuration pour vos environnements. Rails comprend trois environnements par défaut: + development,` + production` et + test.

  • + config / database.yml +: les paramètres de configuration de la base de données résident dans ce fichier, qui est divisé en quatre sections: + default +, + développement +, '+ production + et' + test +. Grâce au Gemfile fourni avec la commande + rails new +, qui incluait le gem + sqlite3 +, notre fichier + config / database.yml + a déjà son paramètre adapter + défini sur + sqlite3 +, en spécifiant que nous allons utiliser une base de données SQLite avec cette application.

  • + db +: Ce dossier comprend un répertoire pour la base de données migrations appelé + migrate +, ainsi que les symboles + schema.rb + et + seeds.rb + des dossiers. + schema.db + contient des informations sur votre base de données, alors que + seeds.rb + vous permet de placer des données de départ pour la base de données.

Enfin, Rails exécute la commande +bundle install + ` pour installer les dépendances répertoriées dans votre