[Introduction] Créer une application Ruby on Rails

introduction

Je viens de faire mes débuts dans Ruby on Rails au travail l'autre jour. Quand il s'agit de Rails, j'ai eu l'impression qu'un service Web avec affichage à l'écran a été créé, mais au travail, l'API a été créée avec Rails. Donc, ici, je vais essayer à la fois de créer un service Web et une API.

environnement

Windows 10 Famille 64 bits

Comment fonctionne Rails

Rails fonctionne avec un mécanisme basé sur le modèle MVC. MVC provient des acronymes «Model», «View» et «Controller», respectivement, et est souvent utilisé lors du développement d'applications avec Rails.

Création de service Web

Créez un écran Web qui affiche le "Hello World" qui est habituel pour les débutants.

1. 1. Créer un nouveau projet

Exécutez la commande suivante pour créer un nouveau projet pour le service Web.

Ligne de commande


rails nouveau nom d'application

* À propos de la structure des dossiers

La structure des dossiers sous le dossier de l'application se trouve dans Rails Document. Vous pouvez le vérifier dans "Qu'est-ce que Ruby on Rails> Structure des dossiers> Liste des dossiers".

2. Créer un contrôleur

Exécutez la commande suivante pour créer le contrôleur. Lors de la création d'un contrôleur, accédez au dossier d'application créé précédemment, puis créez-le.

Ligne de commande


dossier d'application cd
les rails génèrent le nom du contrôleur de contrôleur
* Ici, le nom du contrôleur est "hello_world".

Le contrôleur "hello_world_controller.rb" a été créé dans le dossier "app / controllers". Le code source au moment de la génération est le suivant.

hello_world_controller.rb


class HelloWorldController < ApplicationController
end

3. 3. Créer une action

La méthode définie dans le contrôleur est appelée une action. Modifiez le "hello_world_controller.rb" créé précédemment et essayez de définir l'action "index".

hello_world_controller.rb


class HelloWorldController < ApplicationController
  def index
  end
end

* Création par lots de contrôleur et d'action

Ici, le contrôleur et l'action ont été créés séparément, mais il est également possible de les créer tous en même temps lors de la création du contrôleur. Pour tout créer en même temps, exécutez la commande suivante.

Ligne de commande


les rails génèrent le contrôleur Nom du contrôleur Nom de l'action 1 Nom de l'action 2...

#Exemple
rails generate controller hoge index create

4. Ajouter une vue

Dans le dossier "app / views / hello_world", ajoutez la vue "index.html.erb" correspondant à l'action d'index.

Puisqu'il est supposé que "Hello World" sera affiché cette fois, décrivez comme suit dans "index.html.erb".

html:index.html.erb


<h1>Hello World</h1>

5. Ajout des paramètres de routage

Recevez une demande du navigateur et ajoutez un paramètre à distribuer au contrôleur. Le fichier à modifier est "routes.rb" dans le dossier "config".

routes.rb


Rails.application.routes.draw do
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
  get '/helloworld', to: 'hello_world#index'
end

Vous pouvez vérifier le format dans "Route Definition" dans Rails Document. Cette fois, j'ai décrit la méthode get correspondant à la requête GET.

6. Démarrer le serveur Rails

Exécutez la commande suivante pour démarrer le serveur Rails.

Ligne de commande


rails s

sept. Vérifiez le fonctionnement depuis le navigateur

Accédez à http: // localhost: 3000 / helloworld.

Création d'API

Créez une API qui renvoie «Hello World» au format JSON. Le flux général est le même que pour les services Web.

1. 1. Créer un nouveau projet

Exécutez la commande suivante pour créer un nouveau projet API. Ajoutez --api à une commande normale et créez un projet en mode API.

Ligne de commande


rails nouveau nom d'application--api

2. Création de contrôleurs et d'actions

La commande d'exécution est la même que le service Web. Cette fois, créons un contrôleur et une action à la fois. Le nom du contrôleur et le nom de l'action sont les mêmes que pour le service Web. Vous pouvez voir l'effet du mode API lors de la création d'un projet ici. Lorsque vous créez normalement un contrôleur, les fichiers liés aux vues telles que la vue, l'assistant et l'actif sont également créés en même temps, mais ces fichiers ne sont pas créés car l'API ne nécessite pas de vues.

3. 3. Édition du contrôleur

Ajoutez un processus pour renvoyer "Hello World" au format JSON.

hello_world_controller.rb


class HelloWorldController < ApplicationController
  def index
    render json: { data: "Hello World" }
  end
end

4. Modifier les paramètres de routage

En raison de la création par lots de contrôleurs et d'actions, les paramètres de routage sont automatiquement ajoutés, mais modifions-les.

Changer avant_routes.rb


Rails.application.routes.draw do
  get 'hello_world/index'
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end

Après le changement_routes.rb


Rails.application.routes.draw do
  get '/helloworld', to: 'hello_world#index'
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end

5. Démarrer le serveur Rails

Exécutez la commande suivante pour démarrer le serveur Rails.

Ligne de commande


rails s -p 3001

6. Exécutez la commande curl et vérifiez l'opération

Exécutez la commande suivante et confirmez que JSON est renvoyé.

Ligne de commande


curl --request GET --url http://localhost:3001/helloworld
"Hello World" est de retour en toute sécurité en JSON!

Recommended Posts

[Introduction] Créer une application Ruby on Rails
Préparation à la création de l'application Rails
[Ruby on Rails] Essayez de créer un service qui rend heureux les chats locaux
(Ruby on Rails6) Créer une fonction pour modifier le contenu publié
Comment créer une requête à l'aide de variables dans GraphQL [Utilisation de Ruby on Rails]
(Ruby on Rails6) Comment créer un modèle et une table
[Ruby on Rails] Read try (: [] ,: key)
Comment utiliser Ruby on Rails
Essayez de créer une application client serveur
Essayez «Introduction à Vert.x» avec Gradle
<Installation de points> Introduction à Ruby on Rails5 Comparaison du code source
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
Appliquer le CSS à une vue spécifique dans Ruby on Rails
Comment déployer l'application Rails sur AWS (résumé de l'article)
[Ruby on Rails] Introduction des données initiales
Introduction à Ruby 2
Ruby on Rails - De la construction d'environnement au développement d'application simple sur WSL2
Je souhaite ajouter une fonction de navigation avec ruby on rails
Essayez de déployer l'application Rails sur EC2-Part 1-
J'obtiens une erreur de version de Ruby lorsque j'essaye de démarrer Rails.
Déployer sur Heroku [Ruby on Rails] Débutant
Commande de création / suppression du contrôleur Ruby on Rails
Préparation à l'introduction de jQuery dans Ruby on Rails
Nouvelle commande de création de l'application Ruby on Rails
[Ruby on Rails] Comment utiliser redirect_to
[rails] Comment créer un modèle partiel
Débutant a créé un portfolio avec Ruby on Rails
Bouton [Ruby on Rails] pour revenir en haut
Étapes pour créer un environnement de développement Ruby on Rails avec Vagrant
Passer de SQLite3 à PostgreSQL dans un nouveau projet Ruby on Rails
[Ruby on Rails] Créez un graphique circulaire des totaux par colonne avec Chartkick
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Volume d'essais pour créer une application Web Java sur Windows Server 2016
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Déployer sur Ruby on Rails Elastic beanstalk (déploiement EB)
[Ruby on Rails] Jusqu'à l'introduction de RSpec
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Essayez de créer un babillard en Java
[Ruby on Rails] Mémo d'introduction Select2 pour Webpacker
Présentation de Rspec, un framework de test pour Ruby on Rails
[Ruby on Rails] Un mémorandum de modèles de mise en page
Essayez de déployer l'application Rails sur EC2-Part 2 (Server Construction) -
Comment créer facilement un pull-down avec des rails
[Rails] Comment créer un bouton de partage Twitter
(Ruby on Rails6) Création de données dans une table
J'ai fait un portfolio avec Ruby On Rails
Ruby on Rails élémentaire
Principes de base de Ruby on Rails
Association Ruby On Rails
[Rails] Créer une application
[Première construction d'environnement] J'ai essayé de créer un environnement Rails6 + MySQL8.0 + Docker sur Windows 10.