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)
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)
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 |
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 |
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
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.
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