Au lieu de faire le tutoriel "à la volée", vous pourrez continuer le tutoriel avec un rayon de lumière (peut-être)
Les lecteurs présumés n'ont pas beaucoup de connaissances préalables sur le WEB Les personnes qui sont au milieu ou juste après le didacticiel Rails (Je suis)
En gros, c'est le concept de design du Web. Rails est également conçu selon l'idée de REST
En fait, le tutoriel se trouve dans la colonne 2.2 (dans le cas de la 4ème édition) du chapitre 2 du tutoriel Rails. Il y a un aperçu de REST qui semble nécessaire pour lire Je pense qu'il y a des gens qui jettent un coup d'oeil rapide et passent à autre chose sans bien le savoir. J'ai avancé
Mais,
Le concept de REST circule dans le tutoriel (ou même l'essence) Il vaut mieux le saisir tôt pendant le tutoriel Je pense qu'il est difficile de se perdre parce que vous pouvez voir la structure cohérente et ce que pense l'auteur.
Le concept de REST est si abstrait que vous n'avez pas à tout comprendre tout de suite. Si vous comprenez, non seulement à l'intérieur du didacticiel mais aussi en dehors du didacticiel Il est avantageux de pouvoir voir un peu clairement le monde du web
Ci-dessous, je vais vous expliquer en fonction du niveau que j'ai ressenti
[Comprendre la relation entre les requêtes HTTP de niveau 1 et les opérations CRUD](# Comprendre la relation entre les requêtes HTTP de niveau 1 et les opérations crud) [Comprendre le contenu acheminé par les ressources de niveau 2](#Comprendre le contenu acheminé par les ressources de niveau 2) [Comprendre le groupe d'action mystérieux généré par l'échafaudage de niveau 3](#Comprendre le groupe d'action mystérieux généré par l'échafaudage de niveau 3) [Comprendre le niveau 4 REST lui-même](#Comprendre le niveau 4 REST lui-même)
La requête HTTP est envoyée lorsque l'utilisateur utilise le navigateur Dans le didacticiel Rails, écrivez la partie qui exploite la base de données en fonction de la demande La plupart du temps, j'écris la procédure de fonctionnement du navigateur dans un test et je vérifie le fonctionnement.
Si vous comprenez bien cela, je pense que le contenu du tutoriel sera en quelque sorte géré pour le moment
・ Quatre des huit requêtes HTTP qui sont souvent utilisées
Requête HTTP | En traitement |
---|---|
GET | Avoir |
POST | enregistrement |
PUT | mise à jour |
DELETE | Effacer |
・ Opérations requises pour la base de données
Fonctionnement CRUD | En traitement |
---|---|
READ | Avoir |
CREATE | enregistrement |
UPDATE | mise à jour |
DELETE | Effacer |
・ Chaque correspondance
Requête HTTP | Fonctionnement CRUD | En traitement |
---|---|---|
GET | READ | Avoir |
POST | CREATE | enregistrement |
PUT | UPDATE | mise à jour |
DELETE | DELETE | Effacer |
Q: Écrivez simplement "resources: users" dans "routes.rb" Pourquoi me conduisez-vous de différentes manières?
routes.rb
Rails.application.routes.draw do
resources :users
end
R: Rails est égoïste par défaut lorsqu'il est déclaré comme ressource Soyez prudent en fonction de GET, POST, PUT et DELETE Il associe l'URL à l'action du contrôleur et génère les éléments suivants
URL | action | Requête HTTP | Route nommée | Utilisation |
---|---|---|---|---|
/users | index | GET | users_path | Afficher l'écran de la liste des utilisateurs |
/users/:id | show | GET | user_path(user) | Afficher l'écran d'un utilisateur spécifique |
/users/new | new | GET | new_user_path | Afficher l'écran d'enregistrement d'un nouvel utilisateur |
/users/:id/edit | edit | GET | edit_user_path(user) | Afficher l'écran de modification de l'utilisateur |
/users | create | POST | users_path | Action d'enregistrement de l'utilisateur |
/users/:id | update | PATCH/PUT | user_path(user) | Action de mise à jour de l'utilisateur |
/users/:id | destroy | DELETE | user_path(user) | Action de suppression de l'utilisateur |
Si vous utilisez l'échafaudage, les 7 actions suivantes seront automatiquement générées dans le contrôleur des utilisateurs.
def index def show def new def edit def create def update def destroy
Au début, je pense que vous ne saviez pas ce que c'était parce que c'était fait de différentes manières. À ce stade, je pense que vous pouvez voir la relation entre eux. Il semble que ces sept modèles soient des modèles Rails. (Vous pouvez supprimer les actions inutiles Vous pouvez ajouter vos propres actions si nécessaire)
L'explication sera mélangée Si vous écrivez «ressources: nom du contrôleur» dans «routes.rb», les 7 actions seront acheminées. Comme dans le chapitre 13 du tutoriel, vous ne pouvez générer que le routage requis avec l'option: only.
routes.rb
Rails.application.routes.draw do
resources :microposts, only: [:create, :destroy]
end
Qu'est-ce que REST après tout?
Le principe de conception original de REST semble être les quatre suivants
- Doit être publié avec un URI adressable
- L'interface (utilisation de la méthode HTTP) est unifiée
- Être apatride
- Le résultat du traitement est notifié par le code d'état HTTP
Source: Introduction aux connaissances de base REST
Le didacticiel Rails nécessite l'un des principes REST ci-dessus
seulement. (Cet article se concentre également sur cela) Veuillez vous référer au lien source pour d'autres détails.
Cependant, si vous en savez beaucoup, les API de divers services sont également conçues avec REST à l'esprit. Comme il y en a beaucoup, il sera facile de se connecter avec d'autres services RESTful.
Si vous utilisez Rails, il est indispensable d'adopter un style RESTful J'espère que vous pouvez le comprendre d'une manière ou d'une autre.
La partie que vous faites vous-même est également conforme à REST, et la partie que Rails fait bien Comme il est conforme à REST, il semble préférable de poursuivre le tutoriel tout en le comprenant.
Recommended Posts