Diese Zeit ist eine Fortsetzung des vorherigen Artikels.
Erklärung von Ruby on Rails für Anfänger ①
Mach weiter.
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.
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.
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.
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.
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.
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."
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") %>
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.
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.
<% =%>
, um im Browser anzuzeigenDa 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.
Ä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.
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.
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