[RUBY] Lassen Sie uns Rails-like machen (View)

Einführung

Es wird oft gesagt, dass die App-Entwicklung mit Rails Blackbox ist.

Deshalb werde ich es nach und nach sezieren. Zu diesem Zweck erstellen wir ein Rails-ähnliches Modell.

Dieses Mal möchten wir als View Edition einen Server einrichten und die Homepage mit WEBRick, einer Ruby-Bibliothek, anzeigen.

Die Zielverzeichnisstruktur ist wie folgt.

directory
  |- app
      |- views
           |- basic_pages
               |- home.html.erb
  |- srv.rb

Umgebung

・ Ruby 2.7.1 ・ Ubuntu 20.04.1 LTS

Zielgruppe Leser

・ Diejenigen, die an diesem Artikel interessiert sind ・ Diejenigen, die Rails verwendet haben und darüber nachdenken möchten, wie es funktioniert

Punkt

    1. Richten Sie einen Server ein ① Erstellen Sie eine Skriptdatei (srv.rb), um einen Server einzurichten ② Führen Sie srv.rb aus
  1. Homepage anzeigen ① Erstellen Sie eine Homepage-Ansichtsdatei (app / views / basic_pages / home.html). ② Legen Sie den Stammpfad auf der Homepage fest ③ Entspricht der erb-Datei

1. 1. Richten Sie einen Server ein

Lassen Sie uns zunächst einen Server einrichten. Mit anderen Worten, machen wir es http: // localhost: 3000 (im Folgenden als Root-Pfad) zugänglich. Wenn Sie nichts tun, sollten Sie nicht auf diese Adresse zugreifen können.

Um einen Server einzurichten, müssen Sie daher die folgenden zwei Schritte ausführen.

① Erstellen Sie eine Skriptdatei (srv.rb), um einen Server einzurichten ② Führen Sie srv.rb aus

① Erstellen Sie eine Skriptdatei, um einen Server einzurichten

Die Bedeutung dieser Datei ist das Einrichten eines Servers.

src.rb


require 'webrick' 

op = { BindAddress:  "127.0.0.1", Port: 3000, DocumentRoot: "." }

s = WEBrick::HTTPServer.new(op)
s.start

Referenz ↓ ↓ ↓ https://techacademy.jp/magazine/19901

② Führen Sie srv.rb aus

Geben Sie den folgenden Befehl in das Terminal ein.

Terminal


ruby srv.rb

Dann sollten Sie ein Protokoll wie das folgende sehen.

[2020-11-05 19:36:40] INFO  WEBrick 1.6.0
[2020-11-05 19:36:40] INFO  ruby 2.7.1 (2020-03-31) [x86_64-linux]
[2020-11-05 19:36:40] INFO  WEBrick::HTTPServer#start: pid=15542 port=3000
::1 - - [05/Nov/2020:19:36:43 JST] "GET / HTTP/1.1" 200 1022
- -> /

Wenn Sie auf den Stammpfad zugreifen, Screenshot from 2020-11-05 19-37-22.png Der Bildschirm sollte so aussehen. Der Server ist jetzt aktiv.

Wenn Sie den Server stoppen möchten, drücken Sie Strg </ em> + C </ em>.

2. Homepage anzeigen

Als nächstes erstellen wir eine Homepage und machen sie zugänglich. Wir werden es in der folgenden Reihenfolge tun.

① Erstellen Sie eine Homepage-Ansichtsdatei (app / views / basic_pages / home.html). ② Legen Sie den Stammpfad auf der Homepage fest ③ Entspricht der erb-Datei

① Erstellen Sie eine Homepage-Ansichtsdatei (app / views / basic_pages / home.html).

app/views/basic_pages/home.html


<html>
 <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>Startseite</h1>
    <p>Hello, World</p>
  </body>
</html>

Wenn Sie den Server einrichten und darauf zugreifen, sollte er wie folgt aussehen. Screenshot from 2020-11-05 20-12-18.png Klicken Sie hier auf "app /" → "views /" → "basic_pages /" → "home.html" oder gehen Sie zu http: // localhost: 3000 / app / views / basic_pages / home.html Sie können die Homepage anzeigen, indem Sie direkt darauf zugreifen. Screenshot from 2020-11-05 20-25-38.png

② Legen Sie den Stammpfad auf der Homepage fest

Setzen wir die Homepage-URL auf http: // localhost: 3000.

srv.rb


require 'webrick'

op = {
    BindAdress: "127.0.1",
    Port: 3000,
    DocumentRoot: "app/views/basic_pages/home.html"
    #Stammpfad ändern(Von nun an bedeutet das Ändern des Stammpfads das Ändern der Beschreibung hier.) 
}

s = WEBrick::HTTPServer.new(op)
s.start

Wenn Sie nun auf den Stammpfad zugreifen, werden Sie zur Startseite weitergeleitet.

③ Entspricht der erb-Datei

Versuchen wir, die Erweiterung des Homepage-Dateinamens von .html in .html.erb zu ändern. Zusammen mit dem wird der Inhalt des Stammpfads und der Homepage-Dateien wie folgt sein.

srv.rb


require 'webrick'

op = {
    BindAdress: "127.0.1",
    Port: 3000,
    DocumentRoot: "app/views/basic_pages/home.html.erb"
    #Stammpfad ändern
}

s = WEBrick::HTTPServer.new(op)
s.start

erb:app/views/basic_pages/home.html.erb


<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>Startseite</h1>
    <p>Hello, World</p>
    <%= 1 + 4 %> <!--hinzufügen-->
  </body>
</html>

Wenn die erb-Datei wiedergegeben wird, sollte sie unter "Hallo Welt" "5" sein. Es wird jedoch "<% = 1 + 4%>".

Mit anderen Worten, die erb-Datei wird als HTML-Datei behandelt.

Um die Erweiterung erb wiederzugeben, müssen Sie die Einstellung ändern (srv.rb).

srv.rb


require 'webrick'

op = {
    BindAdress: "127.0.1",
    Port: 3000,
    DocumentRoot: "app/views/basic_pages/home.html.erb"
}

#Unterstützt die Erweiterung erb
WEBrick::HTTPServlet::FileHandler.add_handler("erb", WEBrick::HTTPServlet::ERBHandler)

s = WEBrick::HTTPServer.new(op)
s.start

Dies sollte die Erweiterung erb widerspiegeln. Lassen Sie uns den Server neu erstellen und auf den Stammpfad zugreifen.

Es sollte "5" anstelle von "<% = 1 + 4%>" sein.

Referenz ↓ ↓ ↓ https://www.kkaneko.jp/pro/rubydb/webrick.html

Zusammenfassung

Da es sich um eine View Edition handelt, haben wir diesmal die Serverkonstruktion mithilfe von WEBRick und Homepage-Anzeige implementiert.

In Zukunft werde ich auch die Controller Edition und die Model Edition machen.

Recommended Posts