Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~

introduction

Cette fois, c'est une continuation de l'article précédent.

Veuillez consulter l'article précédent si vous le souhaitez.

Explication de Ruby sur rails pour les débutants ①

Explication de Ruby on rails pour les débutants ② ~ Création de liens ~

Qu'est-ce qu'une base de données?

Une base de données est un endroit pour stocker des données.

Dans Ruby on Rails, vous pouvez faire fonctionner la base de données en créant un modèle à partir du contrôleur. image.png

Créer un contrôleur

Cette fois, envisagez de créer une base de données pour stocker les ID utilisateur et les mots de passe.

Avant de créer la base de données, créons une fois le contrôleur et l'action.

Exécutez le code suivant dans le terminal.

rails g controller users index

Vous avez maintenant créé un contrôleur utilisateur et y avez ajouté une action d'index. Dans la commande rails g, vous pouvez définir deux noms, le nom du contrôleur et le nom de l'action.

Itinéraire comme suit.

routes.rb


get 'users/index' => "users#index"

Vous pouvez maintenant effectuer l'action d'indexation sur le contrôleur utilisateur lorsque l'utilisateur vous envoie l'URL «utilisateur / index».

Vérifions le contrôleur utilisateur. Cette fois, l'action a été ajoutée depuis le début.

users_controller.rb


class UsersController < ApplicationController
  def index
  end
end

En fait, le fichier de vue est également généré automatiquement.

image.png

Écrivez le fichier index.html.erb comme suit.

index.html.erb


<h1>Users#index</h1>
<p>Find me in app/views/users/index.html.erb</p>

Accédez à ce fichier à l'URL suivante.

http://localhost:3000/users/index

L'écran suivant va apparaitre.

image.png

Passer les variables de l'action au fichier d'affichage

image.png

Le contrôleur recherche le fichier de vue et le renvoie à l'utilisateur.

À ce moment-là, en définissant une variable pour l'action dans le contrôleur, cette variable peut être utilisée dans le fichier de vue.

Définissons les variables comme suit.

users_controller.rb


class UsersController < ApplicationController
  def index
    @users = ["maru", "poco"]
  end
end

En utilisant @ avant une variable, comme @user, cette variable devient une variable d'instance. Il y avait une explication dans ici.

Ainsi, lorsque vous passez des variables du contrôleur au fichier de vue, utilisez des variables d'instance au lieu de variables locales.

Le contrôleur Rails utilise des variables d'instance dans les cas suivants: -Passer des données entre les méthodes (généralement en chargeant des données avec before_action) -Passer des données à la vue

De cette manière, la variable d'instance créée avec la variable @ peut être utilisée dans le fichier de vue.

index.html.erb


<% @users.each do |user| %>
  <div>
    <%= user %>
  </div>
<% end %>

image.png

Puisque @users stocke un tableau, il peut être récupéré avec .each do ~ end. Cette partie est entièrement en code Ruby, alors mettons-la dans <%%>. Le fait est qu'il est pris en sandwich entre <%%> au lieu de <% =%> car il n'a pas besoin d'être affiché dans le navigateur.

Affichez-le sur le navigateur à la partie «<% = user%>».

Cette fois, je l'ai utilisé en définissant un tableau dans l'action du contrôleur et en le passant au fichier de vue.

Pensez maintenant à importer les données de la base de données dans une action et à les transmettre à un fichier de vue.

Créer un modèle

image.png

Afin de travailler avec la base de données, vous devez créer un modèle.

Un modèle est un "mécanisme de manipulation des informations dans une base de données". Alternativement, il peut être appelé une «classe qui interagit avec la base de données».

Avec le modèle dans le code ci-dessous. Créez un fichier de migration.

rails g model user name:string password:string

L'utilisateur est le nom du modèle, et l'identifiant et le mot de passe sont les colonnes. Les colonnes sont les données verticales de la base de données ou les colonnes.

La base de données créée par ce code ressemble au tableau ci-dessous.

image.png

La table entière est appelée «table», les données verticales sont appelées «colonne» et les données horizontales sont appelées «enregistrement». Un modèle est une classe Ruby qui correspond à cette base de données, et une instance de la classe modèle est un objet qui représente une ligne (enregistrement) et a des attributs qui correspondent aux colonnes de la table.

L'exécution du code ci-dessus créera un fichier de migration et un modèle pour créer la base de données.

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :name
      t.string :password

      t.timestamps
    end
  end
end

user.rb


class User < ApplicationRecord
end

Vous pouvez créer une base de données en important avec le code sous le fichier de migration créé ci-dessus.

rails db:migrate

À ce stade, vous avez créé une base de données.

Maintenant, résumons ce qu'est un fichier de migration.

Qu'est-ce qu'un fichier de migration?

Un fichier de migration est comme un plan de création d'une base de données.

En exécutant le fichier de migration, vous pouvez créer une table de données basée sur son contenu.

Dans les rails, l'exécution de la commande rails g model générera à la fois un fichier de migration et un modèle.

Gardez à l'esprit que les fichiers de migration sont un outil de création de structures de base de données et que les modèles sont comme des outils qui relient la base de données et les contrôleurs.

Enregistrer les données dans la base de données

Commençons la console Rails avec le code suivant.

rails console

Après avoir lancé la console, utilisons le modèle pour stocker les données dans la base de données.

user = User.new(name: "poco", password: "maru")
user.save

Vous avez maintenant enregistré les données dans la base de données.

Vérifiez la base de données

Vérifions la base de données créée.

Démarrer le client de base de données

Vous pouvez démarrer le client de base de données avec le code suivant.

rails dbconsole

Liste des tableaux

Après avoir démarré le client de base de données, vous pouvez afficher la liste des tables avec le code suivant.

sqlite>.table

ar_internal_metadata schema_migrations users

Afficher le schéma

Vous pouvez afficher le schéma avec le code suivant. Schéma signifie structure. Vous pouvez vérifier la structure de la base de données spécifiée.

sqlite>.schema users

CREATE TABLE IF NOT EXISTS "users" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "password" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);

Arrêter le client de base de données

Vous pouvez arrêter le client de base de données avec le code suivant.

sqlite>.quit

À ce stade, vous avez créé une base de données.

Utilisons réellement la base de données.

Utilisation de la base de données

La base de données est accessible à l'aide d'un modèle.

image.png

Lorsque vous utilisez la base de données, accédez-y à partir du contrôleur à l'aide du modèle.

users_controller.rb


class UsersController < ApplicationController
  def index
    @user = User.first
  end
end

Vous pouvez maintenant utiliser la variable d'instance @user dans le fichier index.html.erb.

@user contient l'enregistrement de la toute première colonne de la table users.

Utilisez-le dans le fichier index.html.erb comme suit:

index.html.erb


<p><%= @user.name %></p>
<p><%= @user.password %></p>

image.png

À la fin

C'est tout pour cette fois.

Merci d'être resté avec nous jusqu'à présent.

Veuillez consulter les articles suivants si vous le souhaitez.

Explication de Ruby on rails pour les débutants ④ ~ Comment utiliser les règles de nommage et form_Tag ~

Explication de Ruby on rails pour les débutants ⑤ ~ Modification et suppression de la base de données ~

Explication de Ruby on rails pour les débutants ⑥ ~ Création de la validation ~

Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation de flash ~

Recommended Posts

Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~
Explication de Ruby on rails pour les débutants ② ~ Création de liens ~
Explication de Ruby sur rails pour les débutants ①
Explication de Ruby on rails pour les débutants ⑤ ~ Modifier et supprimer la base de données ~
Explication de Ruby sur rails pour les débutants ⑥ ~ Création de validation ~
Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation Flash ~
[Procédure 1 pour les débutants] Ruby on Rails: Construction d'un environnement de développement
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue
[Ruby on Rails] Un mémorandum de modèles de mise en page
(Ruby on Rails6) Création de données dans une table
[Pour les débutants] Procédure de création d'un contrôleur à l'aide de rails
Une note sur la fonction de départ de Ruby on Rails
[Ruby on Rails] Comment éviter de créer des routes inutiles pour concevoir
[Ruby on Rails] Introduction des données initiales
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
Rails [Pour les débutants] Implémentation de la fonction de commentaire
[Ruby on Rails] Notation japonaise de l'erreur
Rails Bases de la création d'une nouvelle application
[Ruby on rails] Implémentation d'une fonction similaire
Débutant a créé un portfolio avec Ruby on Rails
[Ruby on Rails] Créez un graphique circulaire des totaux par colonne avec Chartkick
Une série de flux de création de table → création, suppression d'enregistrement → suppression de table dans Ruby on Rails
Paramètres de validation pour la fonction de connexion Ruby on Rails
Implémentation de la fonction de connexion Ruby on Rails (Session)
Résumé des fonctionnalités simples de Bootstrap pour les débutants
[Ruby on Rails] Jusqu'à l'introduction de RSpec
[Ruby on Rails] Mémo d'introduction Select2 pour Webpacker
Ruby on Rails ~ Principes de base de MVC et du routeur ~
Présentation de Rspec, un framework de test pour Ruby on Rails
Une collection de questions simples pour les débutants Java
[Ruby on Rails] Affichage individuel des messages d'erreur
J'ai fait un portfolio avec Ruby On Rails
[Ruby on Rails] Implémentez un graphique circulaire qui spécifie le pourcentage de couleurs
Principes de base de Ruby on Rails
Association Ruby On Rails
Une revue du code utilisé par les rails débutants
[Ruby on Rails] Communication asynchrone de la fonction de publication, ajax
Créer un environnement de développement Ruby on Rails sur AWS Cloud9
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
[Ruby on Rails] De la construction de MySQL au changement de base de données
Essayez d'utiliser l'attribut de requête Ruby on Rails
[Pour les débutants] Explication des classes, des instances et des statiques en Java
Record d'apprentissage de Ruby on rails -2020.10.03
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1