Erklärung von Ruby on Rails für Anfänger ② ~ Links erstellen ~

Einführung

Diese Zeit ist eine Fortsetzung des vorherigen Artikels.

Erklärung von Ruby on Rails für Anfänger ①

Mach weiter.

Routing-Änderungen

Sie können das Routing nach Ihren Wünschen konfigurieren.

Lassen Sie uns zum Beispiel "home # top" (die oberste Aktion des Home-Controllers) ausführen, wenn Sie "/ pocomaru" schreiben.

Ändern Sie das Routing wie folgt:

routes.rb


Rails.application.routes.draw do
  get "pocomaru" => "home#top"
end

Geben Sie in diesem Zustand die URL wie unten gezeigt ein.

http://localhost:3000/pocomaru

Auf diese Weise wird die URL "http: // localhost: 3000 / pocomaru" durch die Anweisung "home # top" (die oberste Aktion des Home-Controllers) ersetzt.

Das Routing wird für URLs nach localhost: 3000 durchgeführt.

Bei der Ausführung wird der folgende Bildschirm angezeigt.

image.png

Link erstellen

Jetzt erstellen wir einen Link.

Fügen Sie in einer Datei mit dem Namen top.html.erb einen Link zur Datei test.html.erb ein.

Es hat die folgende Dateistruktur. image.png

Der Inhalt der Datei test.html.erb sollte folgendermaßen aussehen:

test.html.erb


<h1>Prüfung</h1>

Lassen Sie uns einen Link zu dieser Datei erstellen.

Warum Sie auf einen Link klicken, gelangen Sie zu einer anderen Datei

Aber was bedeutet es, auf einen Link zu klicken und ihn an den Benutzer zu senden?

Denken Sie darüber nach, was einmal passiert. Siehe die Abbildung unten.

image.png

Wenn Sie auf einen Link klicken, um zu einer anderen Datei zu springen, wird die Geschichte im roten Feld in der obigen Abbildung angezeigt.

Der Benutzer sendet die URL an den Server, der Controller sucht nach der Ansichtsdatei gemäß der URL, führt die in der Aktion beschriebene Verarbeitung durch und sendet die Ansichtsdatei dann an den Benutzer.

Das Anfordern einer Ansichtsdatei vom Server auf diese Weise wird als "Senden einer Get-Anfrage" bezeichnet.

Benutzer senden URLs auf verschiedene Weise an den Server. Sie können auf den Text mit dem Link klicken oder auf die Schaltfläche "Senden" klicken, nachdem Sie die ID eingegeben haben.

Nachdem eine solche URL gesendet wurde, übersetzte der Server sie durch Routing.

image.png

Durch das Routing geben Sie an, welche Aktion auf welchem Controller ausgeführt werden soll.

Diese Aktionen entsprechen auch dem Anzeigen von Dateien.

Wenn das Routing beispielsweise die "home controller top action" aufruft, wird die Datei top.html.erb im Home-Verzeichnis unter app >> views aufgerufen.

Mit anderen Worten, wenn Sie darüber nachdenken, warum Sie durch Klicken auf einen Link zu einer anderen Datei gelangen, können Sie wie folgt antworten.

"Wenn Sie auf einen Link klicken, wird die URL durch Routing übersetzt, Sie geben an, welche Aktion von welchem Controller ausgeführt werden soll, und eine dieser Aktion entsprechende Ansichtsdatei wird an den Benutzer gesendet."

Erstellen Sie tatsächlich einen Link

Es gibt zwei Möglichkeiten, Ruby on Rails-Links zu erstellen.

Da es eine große Sache ist, lassen Sie es uns auf zwei Arten implementieren.

Die Datei top.html.erb wurde wie folgt umgeschrieben.

top.html.erb


<h1>Hello World</h1>
<a href="test">test by href</a>
<%= link_to("test by link_to", "test") %>

image.png

Die Art und Weise, den Link in die zweite Zeile zu schreiben, ist eine typische Art, einen HTML-Link zu schreiben.

Beachten Sie, wie die dritte Zeile geschrieben wird.

Wenn Sie es in der Form "<% =%>" einschließen, ist dies Ruby-Code! Es wird als `gesagt. Der Code, der link_to verwendet, ist Ruby-Code, kein HTML-Code. Sie müssen ihn also so einschließen.

Übrigens, selbst wenn Sie es in "<%%>" einschließen, wird Ihnen mitgeteilt, dass es sich um Rails-Code handelt.

Ich werde unten erklären, ob es in <%%> oder <% =%> eingeschlossen werden soll und wie link_to verwendet wird.

Unterschied zwischen <% =%> und <%%>

Tatsächlich ist erb in .html.erb eine Abkürzung für "Embedded RuBy". Mit anderen Worten, es ist eine HTML-Datei mit eingebettetem Ruby.

Mit anderen Worten, Sie können Ruby-Skripte in diese Datei html.erb einbetten.

<% =%> Und <%%> wird beim Schreiben von Ruby-Code in die Datei html.erb verwendet.

Beim Einbetten eines Ruby-Skripts in eine HTML-Datei kann es jedoch vorkommen, dass Verarbeitungen ausgeführt werden, die nicht separat im Browser angezeigt werden müssen.

In einem solchen Fall ist es notwendig, diese beiden richtig zu verwenden. Denken Sie ungefähr wie folgt daran.

Verwendung von link_to

Da link_to Ruby-Code ist, muss er in <%%> oder <% =%> eingeschlossen werden.

Dieses Mal möchte ich einen Link erstellen, der irgendwohin springt, wenn ich darauf klicke. Daher muss ich ihn natürlich im Browser anzeigen.

Schließen Sie es in <% =%> ein.

link_to verwendet "Zeichen, das im Browser angezeigt werden soll" als erstes Argument und "URL" als zweites Argument.

Dieses Mal habe ich mich für die URL test entschieden.

Von hier aus werde ich erklären, wie die Datei test.html.erb gesendet wird, wenn der Benutzer auf den Link klickt, dh die URL wird gesendet.

Lassen Sie uns zunächst das Routing ändern.

Routing ändern

Ändern Sie das Routing wie folgt.

routes.rb


Rails.application.routes.draw do
  get "pocomaru" => "home#top"
  get "test" => "home#test"
end

Ich habe einen neuen Code hinzugefügt, der beim Senden des URL-Tests in das Routing "home # top" konvertiert werden soll.

Mit anderen Worten, wenn der Benutzer auf den URL-Test klickt, wird die oberste Aktion des Home-Controllers ausgeführt.

Als nächstes fügen wir dem Home-Controller die oberste Aktion hinzu.

Aktion zum Controller hinzufügen

Fügen wir die Testaktion zum Home-Controller hinzu.

hoem_controller.rb


class HomeController < ApplicationController
    def top
    end
    
    def test
    end
end

Wenn der Benutzer durch Hinzufügen eines solchen Codes das Routing "home # test" aufruft, wird die Testaktion des Home-Controllers ausgeführt und die Datei view >> home >> test.html.erb an den Benutzer gesendet. Sie können es zurückschicken.

image.png

Am Ende

Das ist alles für diese Zeit.

Vielen Dank, dass Sie bisher bei uns geblieben sind.

Bitte lesen Sie die folgenden Artikel, wenn Sie möchten.

Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~

Erklärung von Ruby on Rails für Anfänger ④ ~ Verwendung von Namensregeln und form_Tag ~

Erklärung von Ruby on Rails für Anfänger ⑤ ~ Bearbeiten und Löschen der Datenbank ~

Erklärung von Ruby on Rails für Anfänger ⑥ ~ Erstellung der Validierung ~

Erklärung von Ruby on Rails für Anfänger ⑦ ~ Implementierung von Flash ~

Recommended Posts

Erklärung von Ruby on Rails für Anfänger ② ~ Links erstellen ~
Erklärung von Ruby auf Schienen für Anfänger ①
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Erklärung von Ruby auf Schienen für Anfänger ⑥ ~ Erstellung der Validierung ~
Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~
Erklärung von Ruby on Rails für Anfänger ⑤ ~ Datenbank bearbeiten und löschen ~
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
Erklärung von Ruby on Rails für Anfänger ④ ~ Informationen zu Benennungsregeln und zur Verwendung von form_Tag ~
Grundkenntnisse in Ruby on Rails
[Ruby on Rails] Einführung der Anfangsdaten
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
[Ruby on Rails] Erstellen eines Anfrageformulars
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Japanische Fehlernotation
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Anfänger haben mit Ruby on Rails ein Portfolio erstellt
[Ruby on Rails] So vermeiden Sie das Erstellen unnötiger Routen für die Entwicklung
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
[Ruby on Rails] Bis zur Einführung von RSpec
Empfehlung der Serviceklasse in Ruby on Rails
[Ruby on Rails] Select2-Einführungsnotiz für Webpacker
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
(Ruby on Rails6) Erstellen von Daten in einer Tabelle
[Für Anfänger] Verfahren zum Erstellen eines Controllers mithilfe von Schienen
[Ruby on Rails] Individuelle Anzeige von Fehlermeldungen
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
[Ruby on Rails] Asynchrone Kommunikation der Posting-Funktion, Ajax
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
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 lernen Rekord-2020.10.07 ②
(Für Anfänger) [Rails] Installieren Sie das Gerät
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
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
[Ruby on Rails] Eliminierung von Fat Controller-First, Logik zum Modell-
(Ruby on Rails6) Anzeige der Datenbank, die die ID der Datenbank erhalten hat
Alle Inhalte der Listenseite löschen [Ruby on Rails]