Wir erstellen mit Docker eine lokale Entwicklungsumgebung und führen das Rails-Tutorial erneut aus.
--Rails 6 kompatibel mit der neuesten Version des Rails-Tutorials (ab 2020.8.6)
Diesmal der Teil, der Kapitel 7 des Rails-Tutorials entspricht, Einführung in die Inhalte, die beim Entwickeln auf dem Docker-Container debuggt werden sollen
Persönlich entwickelte App
mdClip
Verwenden Sie beim Arbeiten am Docker-Container die entsprechenden Terminalbefehle.
$ docker-compose run app ...
Oder
$ docker-compose exec app ...
Bitte ersetzen Sie durch.
Referenzseite Debugging in Docker and Rails 5.2-Entwicklungsumgebung aktivieren - Coconara Yomoyama Blog
$ docker attach $(docker-compose ps -q app)
Jetzt können Sie die Debug-Konsole verwenden
Wenn Sie das Debug mit "quit" beenden Der "Rails Server" fällt ebenfalls aus, weil der Container geschlossen ist Wenn Sie denken, dass dies sehr unpraktisch ist
Wenn Sie sich nur vom Container lösen (Control P
-> Control Q
), müssen Sie den Container nicht schließen.
Wenn Sie jedoch auf der VS Code-Konsole arbeiten
Control P
, Control Q
kann nicht anderen Verknüpfungen zugewiesen werden
Dies ist eine Lösung, indem die Touch-Tasten durch einen Container ersetzt werden
Referenzartikel Um das Strg-p-Problem beim doppelten Drücken (Problem beim Trennen der Tasten) in Docker-Qiita zu lösen
Schreiben Sie die Einstellungen in ~ / .docker / config.json
vi ~/.docker/config.json
{
# ...Kürzung
"detachKeys": "ctrl-e"
}
Ich habe es so eingestellt, dass es mit "control + e" abnehmbar ist
Es scheint eine Möglichkeit zu geben, einen Container zum Debuggen über die VS-Code-Debug-Funktion einzurichten und zu debuggen.
Developing inside a Container using Visual Studio Code Remote Development
Ich dachte, es wäre nahtlos und bequem Ich habe bisher ein wenig Zeit verbracht, also werde ich es bei einer anderen Gelegenheit hinzufügen.
Persönliche Notizen
Get started with development Containers in Visual Studio Code
Troubleshoot
Beide sind auf unterschiedliche Versionen von Bootstrap zurückzuführen Ich halte es nicht für sinnvoll, zu viel Zeit mit Nachforschungen zu verbringen
Es ist möglicherweise besser, die Bootstrap-Version anzupassen
#Vor der Korrektur
col-md-offset-3
#Überarbeitet
offset-md-3
$text-danger: #dc3545;
# ...Unterlassung...
.field_with_errors {
@extend .has-error;
.form-control {
color: $text-danger;
}
}
.has-error
-> :invalid
$text-danger: #dc3545;
# ...Unterlassung...
.field_with_errors {
@extend :invalid;
.form-control {
color: $text-danger;
}
}