Durch das Verständnis von REST werden die Aussichten für das Ruby on Rails-Lernprogramm verbessert

Was Sie durch Lesen dieses Artikels erhalten können

Anstatt das Tutorial "on the fly" zu machen, können Sie mit dem Tutorial (vielleicht) mit einem Lichtstrahl fortfahren.

Angenommen, die Leser haben nicht viel Vorwissen über das WEB Personen, die sich mitten in oder kurz nach dem Rails-Tutorial befinden (Ich bin)

Was ist REST?

Grob gesagt ist es das Designkonzept des Webs. Rails ist ebenfalls nach der Idee von REST konzipiert

Tatsächlich befindet sich das Tutorial in Spalte 2.2 (im Fall der 4. Ausgabe) von Kapitel 2 des Rails-Tutorials. Es gibt eine Übersicht über REST, die zum Lesen notwendig erscheint Ich denke, es gibt einige Leute, die einen kurzen Blick darauf werfen und weitermachen, ohne es gut zu wissen. Ich bin weitergekommen

Aber,

Das Konzept von REST wird im Tutorial (oder sogar im Wesentlichen) behandelt. Es ist besser, es früh während des Tutorials zu greifen Ich denke, es ist schwer, sich zu verlaufen, weil man die konsistente Struktur und die Meinung des Autors sehen kann.

Das Konzept von REST ist so abstrakt, dass Sie nicht alles sofort verstehen müssen. Wenn Sie verstehen, nicht nur innerhalb des Tutorials, sondern auch außerhalb des Tutorials Es ist vorteilhaft, die Webwelt ein wenig klar sehen zu können

Im Folgenden werde ich nach dem Niveau erklären, das ich gefühlt habe

[Verständnis der Beziehung zwischen HTTP-Anforderungen der Ebene 1 und CRUD-Operationen](# Verständnis der Beziehung zwischen HTTP-Anforderungen der Ebene 1 und Rohoperationen) [Verstehen der von Ressourcen der Ebene 2 gerouteten Inhalte](#Verstehen der von Ressourcen der Ebene 2 gerouteten Inhalte) [Verständnis der mysteriösen Aktionsgruppe, die vom Level 3-Gerüst generiert wird](#Verstehen der mysteriösen Aktionsgruppe, die vom Level 3-Gerüst generiert wird) [Level 4 REST selbst verstehen](# Level 4 REST selbst verstehen)

Stufe 1 Verständnis der Beziehung zwischen HTTP-Anforderungen und CRUD-Operationen

Eine HTTP-Anfrage wird gesendet, wenn der Benutzer den Browser bedient Schreiben Sie im Rails-Lernprogramm den Teil, der die Datenbank basierend auf der Anforderung betreibt Die meiste Zeit schreibe ich die Browser-Prozedur in einen Test und überprüfe die Operation.

Wenn Sie so viel verstehen, denke ich, dass der Inhalt des Tutorials vorerst irgendwie verwaltet wird

・ Vier der acht häufig verwendeten HTTP-Anforderungen

HTTP-Anfrage wird bearbeitet
GET Erhalten
POST Anmeldung
PUT aktualisieren
DELETE Löschen

・ Für die Datenbank erforderliche Vorgänge

CRUD-Betrieb wird bearbeitet
READ Erhalten
CREATE Anmeldung
UPDATE aktualisieren
DELETE Löschen

・ Jede Korrespondenz

HTTP-Anfrage CRUD-Betrieb wird bearbeitet
GET READ Erhalten
POST CREATE Anmeldung
PUT UPDATE aktualisieren
DELETE DELETE Löschen

Verstehen, was in Level 2-Ressourcen geroutet wird

F: Schreiben Sie einfach "resources: users" in "route.rb". Warum leiten Sie mich auf verschiedene Arten weiter?

routes.rb


Rails.application.routes.draw do
  resources :users
end

A: Rails ist standardmäßig egoistisch, wenn es als Ressourcen deklariert wird Seien Sie vorsichtig, basierend auf GET, POST, PUT und DELETE Es verknüpft die URL mit der Aktion des Controllers und generiert Folgendes

URL Aktion HTTP-Anfrage Benannte Route Verwenden
/users index GET users_path Bildschirm Benutzerliste anzeigen
/users/:id show GET user_path(user) Zeigen Sie den Bildschirm eines bestimmten Benutzers an
/users/new new GET new_user_path Bildschirm zur Registrierung neuer Benutzer anzeigen
/users/:id/edit edit GET edit_user_path(user) Benutzerbearbeitungsbildschirm anzeigen
/users create POST users_path Benutzerregistrierungsaktion
/users/:id update PATCH/PUT user_path(user) Benutzeraktualisierungsaktion
/users/:id destroy DELETE user_path(user) Benutzerlöschaktion

Verstehen der mysteriösen Aktionsgruppe, die vom Gerüst der Stufe 3 erzeugt wird

Wenn Sie ein Gerüst verwenden, werden die folgenden 7 Aktionen automatisch im Benutzer-Controller generiert.

def index def show def new def edit def create def update def destroy

Am Anfang, glaube ich, wussten Sie nicht, was es war, weil es auf verschiedene Arten hergestellt wurde. An diesem Punkt denke ich, dass Sie die Beziehung zwischen ihnen sehen können. Es scheint, dass diese sieben Rails-Vorlagen sind. (Sie können unnötige Aktionen löschen Sie können bei Bedarf Ihre eigenen Aktionen hinzufügen.)

Die Erklärung wird verwechselt Wenn Sie "resources: controller name" in "route.rb" schreiben, werden alle 7 Aktionen weitergeleitet. Wie in Kapitel 13 des Tutorials können Sie mit der Option: only nur das erforderliche Routing generieren.

routes.rb


Rails.application.routes.draw do
  resources :microposts, only: [:create, :destroy]
end

Level 4 Verständnis von REST selbst

Was ist eigentlich REST?

Das ursprüngliche REST-Designprinzip scheint die folgenden vier zu sein

  • Muss mit einer URI veröffentlicht werden, die angesprochen werden kann
  • Die Schnittstelle (Verwendung der HTTP-Methode) ist vereinheitlicht
  • Staatenlos sein
  • Das Verarbeitungsergebnis wird per HTTP-Statuscode benachrichtigt

Quelle: Einführung in REST-Grundkenntnisse

Das Rails-Tutorial erfordert eines der oben genannten REST-Prinzipien

nur. (Dieser Artikel konzentriert sich auch darauf) Weitere Informationen finden Sie unter dem Quelllink.

Wenn Sie jedoch so viel wissen, werden die APIs verschiedener Services auch unter Berücksichtigung von REST erstellt. Da es viele gibt, ist es einfach, sich mit anderen RESTful-Diensten zu verbinden.

Zusammenfassung

Wenn Sie Rails verwenden, ist es eine Voraussetzung, einen RESTful-Stil zu verwenden Ich hoffe du kannst es irgendwie verstehen.

Der Teil, den Sie selbst herstellen, stimmt auch mit REST überein, und der Teil, den Rails gut macht Da es mit REST übereinstimmt, scheint es besser, mit dem Tutorial fortzufahren und dies zu verstehen.

Recommended Posts

Durch das Verständnis von REST werden die Aussichten für das Ruby on Rails-Lernprogramm verbessert
Erklärung von Ruby auf Schienen für Anfänger ①
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
[Ruby on Rails] Bis zur Einführung von RSpec
Wenn das Ruby on Rails-Terminal zurückrollt
Veröffentlichen Sie die mit Ruby on Rails erstellte App
[Ruby on Rails] Select2-Einführungsnotiz für Webpacker
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
Bestimmen Sie die aktuelle Seite mit Ruby on Rails
[Ruby on Rails] So ändern Sie den Spaltennamen
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
Erklärung von Ruby auf Schienen für Anfänger ⑥ ~ Erstellung der Validierung ~
Erklärung von Ruby on Rails für Anfänger ② ~ Links erstellen ~
(Ruby on Rails6) Reflektiert den veröffentlichten Inhalt aus dem Formular
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~
[Ruby on Rails] Nur den Benutzer, der Beiträge verfasst hat, dürfen bearbeiten
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
(Ruby on Rails6) Anzeige der Datenbank, die die ID der Datenbank erhalten hat
Alle Inhalte der Listenseite löschen [Ruby on Rails]
Ein Hinweis zum Seed-Feature von Ruby on Rails
[Ruby on Rails] Geben Sie automatisch eine Adresse aus einer Postleitzahl ein
[Hinweis] Über das Fizz_Buzz-Problem (Funktionsweise von Ruby on Rails)
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Schienen ~ Die Nachrichtenfunktion verstehen ~
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
Verstehen Sie die Codeabdeckung mit Rspec, dem Ruby on Rails-Testframework
[Ruby on Rails] Ändere das Speicherziel von Gem Refile * Hinweis
Erklärung von Ruby on Rails für Anfänger ⑤ ~ Datenbank bearbeiten und löschen ~
Ich habe den Ablauf bis zur Implementierung von simple_calendar in Ruby on Rails zusammengefasst.
Dinge, an die Sie sich erinnern sollten, und Konzepte im Ruby on Rails-Tutorial
[Ruby on Rails] So vermeiden Sie das Erstellen unnötiger Routen für die Entwicklung
(Ruby on Rails6) Erstellen Sie eine Funktion zum Bearbeiten des veröffentlichten Inhalts
[Ruby on Rails] Übergeben Sie die durch date_select geteilten Parameter an FormObject.
[Ruby on Rails] Beim ersten Anmelden ・ So teilen Sie den Bildschirm mit jQuery in zwei Hälften