[RUBY] Über Schienen 6

Annahme

Ich werde schreiben, was ich über Rails 6 gelernt habe.

macOS Docker / Docker Compose installiert

Hauptthema

Gründe für die Verwendung einer virtuellen Umgebung

Ich habe Probleme beim Entwickeln einer Rails-Anwendung. Das heißt, die Umgebung der Entwicklungsmaschine (Arbeitsmaschine) und der tatsächlichen Betriebsmaschine (Produktionsmaschine) sind unterschiedlich. Die Umgebung bezieht sich hier auf den Typ und die Version des Betriebssystems oder auf den Typ und die Version der Software und Bibliotheken, die auf dem Betriebssystem ausgeführt werden. Ruby on Rails funktioniert unter Windows, MacOS und Linux. Dies ist jedoch nicht immer der Fall bei den Gem-Paketen, die zur Erweiterung von Rails eingeführt werden. Selbst wenn es funktioniert, kann das Verhalten geringfügig abweichen oder es können Probleme in einer bestimmten Umgebung auftreten.

Die Lösung für dieses Problem besteht darin, die Umgebung der Arbeitsmaschine und der Produktionsmaschine anzupassen. Es gibt eine Option namens ** Virtuelle Umgebung **. Erstellen Sie eine virtuelle Umgebung auf einem Desktop-Betriebssystem wie Windows, MacOS, Ubuntu und installieren Sie dort ein Linux-basiertes Server-Betriebssystem.

Die in der Entwicklung befindliche Rails-Anwendung wird in einer virtuellen Umgebung ausgeführt. Greifen Sie über einen Webbrowser auf dem Desktop-Betriebssystem auf die Rails-Anwendung zu und überprüfen Sie den Vorgang. Andererseits wird der Quellcode der Rails-Anwendung auf dem Desktop-Betriebssystem durch die Funktion des freigegebenen Ordners geöffnet und bearbeitet. Auf diese Weise können Sie Rails-Anwendungen in derselben Umgebung wie eine Produktionsmaschine entwickeln, während Sie weiterhin den bekannten Texteditor und die IDE verwenden.

Was ist Docker?

Open Source-Software, die eine virtuelle Umgebung bietet. Die einfache Einstellung und der schnelle Start sind beliebt. Jede virtuelle Umgebung wird als Container bezeichnet. Der Inhalt des Containers wird in einer Textdatei namens Dockerfile beschrieben. Mit dieser Datei können Sie den Container auf verschiedenen Betriebssystemen wiederherstellen.

Was ist Docker-Compose?

Wenn Sie eine Rails-Anwendung entwickeln oder in einer Produktionsumgebung mit Docker ausführen, werden die Rails-Anwendung und der Datenbankserver häufig als separate Container erstellt. Docker-Compose ist ein Tool zum gleichzeitigen Starten und Stoppen dieser mehreren Container. Führen Sie einfach den Befehl docker-compose up </ code> aus, und alle Container, aus denen die Webanwendung besteht, funktionieren.

Erstellen einer Rails-Entwicklungsumgebung

Erstellen Sie mit Docker und Docker Compose eine Rails-Entwicklungscontainergruppe.

terminal.


$ git clone https://github.com/oiax/rails6-compose.git
$ cd rails6-compose
$ ./setup.sh

Container starten und stoppen

Führen Sie den folgenden Befehl im Terminal aus, um alle Container zu starten. Option -d dient zum Ausführen des Containers als Daemon (Hintergrundprozess).

terminal.


$ docker-compose up -d

Führen Sie den folgenden Befehl im Terminal aus, um die Container zu stoppen.

terminal.


$ docker-compose stop

Melden Sie sich beim Webcontainer an

terminal.


$ docker-compose exec web bash

Rails Versionsprüfung

bash-4.4$ rails --version

Wenn das Ergebnis als Rails 6.0.0 ausgegeben wird, ist es OK!

Erstellen Sie eine neue Rails-Anwendung mit dem Befehl Rails New.

bash-4.4$Schienen neuer App-Name-d postgresql --skip-test-unit

--skip-test-unit </ code> ist eine Option, um die Generierung von Test :: Unit-bezogenem Code zu überspringen.

Überprüfen Sie den Inhalt

bash-4.4$ ls -ein App-Name/

Gemfile bearbeiten

gem "bcrypt"         #Passwortverschlüsselung
gem "rails-i18n"     #Eine Sammlung von Übersetzungsdateien wie Fehlermeldungen, Datums- und Uhrzeitangaben, Währungseinheiten usw., die auf Schienen ausgegeben werden
gem "kaminari"       #Pagenationsfunktion
gem "date_validator" #Überprüfen Sie das Datum
gem "valid_email2"   #Bestätigen Sie an der E-Mail-Adresse
gem "nokogiri"       #XML/Zur HTML-Analyse und Generierung
  • Email_validator ist aufgrund lockerer Validierungsstandards aufgrund von Versions-Upgrades weniger praktisch geworden. Beispielsweise wird eine E-Mail-Adresse mit zwei @ als gültig bewertet.

Recommended Posts