[RUBY] Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 2 Einführung in Git und Rubocop

Erstellen einer Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 1 Environment Construction

Erhebe dich zu Github

Aus der Fortsetzung des letzten Males. Ich habe den Punkt erreicht, an dem es vorerst funktioniert, also lasst es uns zu Github schieben.

Wählen Sie Neues Repository.

Dann erstellen Sie es mit einem passenden Namen. Wenn Sie nicht möchten, dass andere den Quellcode sehen, gehen Sie zu Privat. Wenn es kein Problem gibt, gehen Sie zu Öffentlich.

rep.png

Cloud9 enthält standardmäßig git, sodass Sie den Befehl git unverändert verwenden können.

$ git add -A
$ git commit -m 'initial commit'
$ git remote add origin https://github.com/{YOUR_ACCOUNT}/{YOUR_REPOSITORY}.git
$ git branch -M master
$ git push -u origin master

Der YOUR_-Teil des obigen Befehls wird in das soeben erstellte Repository geschrieben. Bitte beziehen Sie sich darauf.

Erstellen Sie ein Schlüsselpaar und registrieren Sie den öffentlichen Schlüssel auf Github

Mit der oben genannten Unterstützung werden Sie bei jedem Push nach Ihrer Github-Benutzer-ID und Ihrem Kennwort gefragt.

$ ssh-keygen -t rsa

Bilden Sie ein Schlüsselpaar, indem Sie die Eingabetaste wiederholt drücken.

$ cat ~/.ssh/id_rsa.pub 

Die angezeigte Zeichenfolge ist der öffentliche Schlüssel. Kopieren Sie ihn daher.

Gehen Sie zu Github und wechseln Sie von Ihrem Symbol oben rechts zu "Einstellungen" -> "SSH- und GPG-Tasten" -> "Neue SSH-Taste". Geben Sie dem Titel einen leicht verständlichen Titel, fügen Sie den öffentlichen Schlüssel in den Schlüssel ein und speichern Sie ihn.

Sie sollten jedoch beim Drücken immer noch nach Ihrem ID-Pfad gefragt werden.

$ git remote set-url origin [email protected]:{YOUR_ACCOUNT}/{YOUR_REPOSITORY}.git

Wenn ja, ist es OK. Dies verhindert, dass Sie bei jedem Drücken oder Ziehen nach Ihrem ID-Pfad gefragt werden.

Referenz: Verfahren für die SSH-Verbindung mit GitHub ~ Von der Generierung des öffentlichen / privaten Schlüssels ~

Löschen Sie das Testverzeichnis

Dieses Mal werden wir den Test mit RSpec implementieren. Löschen Sie daher das Testverzeichnis für den Minitest.

$ git rm -r test/

Rubocop einlegen

Fügen wir zunächst Rubocop ein, das eine statische Analyse durchführt. Dies liegt daran, dass es sich um ein Juwel handelt, das den Codierungsstandard überprüft. Wenn Sie ihn jedoch später eingeben, werden viele Punkte herauskommen, die gegen den Codierungsstandard verstoßen, und Sie werden nicht in der Lage sein, damit umzugehen.

Gemfile


...

+ gem 'rubocop-rails'

...

Installation


$ bundle

Erstellen Sie eine Rubocop-Konfigurationsdatei

yml:.rubocop.yml


AllCops:
  Exclude:
    - bin/*
    - db/schema.rb

#Japanischer Kommentar erlaubt
AsciiComments:
  Enabled: false
  
#Vereinheitlicht zu doppeltem Zitat
StringLiterals:
  EnforcedStyle: double_quotes

Legen Sie es im Stammverzeichnis Ihrer Anwendung ab (/ home / ec2-user / environment / bbs). Vergessen Sie nicht, am Anfang des Dateinamens einen Punkt zu setzen.

rubocop Korrigieren Sie den hervorgehobenen Teil

$ rubocop -a

Bei der Ausführung werden ungefähr 40 Fehler ausgegeben, aber fast alle sollten die folgenden Fehler sein.

C: Style/FrozenStringLiteralComment: Missing frozen string literal comment.

das ist

Fügen Sie in die erste Zeile jeder Ruby-Datei ein


+ # frozen_string_literal: true
+

Das ist in Ordnung. Dies bedeutet, dass in Ruby die Zeichenfolge standardmäßig veränderbar ist. Dies kann jedoch zu unbeabsichtigten Problemen führen. Daher empfiehlt es sich, sie einzufrieren, um sie unveränderlich zu machen. In Ruby3 wird standardmäßig entschieden, unveränderlich zu sein. Wenn Sie diese Beschreibung als Vorbereitung hinzufügen, ist die Zeichenfolge in der Datei unveränderlich.

Es ist wie es ist.

Wenn Sie nicht Dutzende von Dateien öffnen möchten, bearbeiten und speichern Sie ...

#Zu Beginn der Gemfile# frozen_string_literal:Füge true hinzu
$ sed -i '1s/^/# frozen_string_literal: true\n\n/' Gemfile

Sie können am Anfang der Datei hinzufügen, indem Sie wie folgt vorgehen. Wenn Sie wie db / * angeben, können Sie auch Batch-Verzeichnisse (etwas gefährlich) erstellen.

Wenn Sie keine Kinder haben, können Sie diese Prüfung mit rubocop im Rahmen des Tutorials deaktivieren. In diesem Fall

diff:.rubocop.yml


...

+ Style/FrozenStringLiteralComment:
+   Enabled: false

Bitte hinzufügen. Wie oben erwähnt, ist es jedoch standardmäßig von Ruby3 unveränderlich. Wenn Sie also in Zukunft neue Anwendungen erstellen, sollten Sie es einschließen.

Der Rest dient nur dazu, den folgenden Fehler zu beseitigen.

C: Style/Documentation: Missing top-level class documentation comment.

app/mailers/application_mailer.rb app/models/application_record.rb config/application.rb Es sollte in den 3 Dateien von aufgetreten sein, aber es ist ein Fehler, der auftritt, wenn kein Dokument der Klasse vorhanden ist.

config/application.rb



 module Bbs
+  #
+  #Einstellungsdatei
+  #
   class Application < Rails::Application

Fügen wir vor der Klassendefinition einen Kommentar wie hinzu.

Repariere alles,

Inspecting 26 files
..........................

26 files inspected, no offenses detected

Es ist OK, wenn der Fehler wie verschwindet.

Fortsetzung

Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung mit Rails 6 # 3 RSpec. FactoryBot wird eingeführt und ein Post-Modell erstellt [Zur Serialisierungstabelle]

Recommended Posts

Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 2 Einführung in Git und Rubocop
Erstellen Sie eine Bulletin-Board-API mit Zertifizierung und Autorisierung mit Rails 6 # 1 Environment Construction
Einführung des Experten Nr. 15 zum Erstellen einer Bulletin-Board-API mit Zertifizierung und Autorisierung in Rails 6
Erstellen Sie eine Bulletin Board-API mit Zertifizierungsberechtigung in Rails 6 # 13 Grant-Authentifizierungsheader
Erstellen Sie mit Rails 6 # 18 eine Bulletin-Board-API mit Zertifizierung und Autorisierung. ・ Implementierung des Endbenutzer-Controllers
Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung mit Rails 6 # 3 RSpec. FactoryBot wird eingeführt und ein Post-Modell erstellt
Erstellen Sie eine Bulletin-Board-API mit Autorisierung in Rails 6 # 12 Assoziation von Benutzer und Beitrag
Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung im Rails 6 # 5-Controller und leiten Sie die Implementierung weiter
Einführung von # 10 devise_token_auth zum Erstellen einer Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6
Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 17. Fügen Sie Administratorrechte hinzu
Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 14 Seed. Anzeige der Ausführungszeit
# 4 nach Validierung und Testimplementierung zum Erstellen einer Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6
# 16 Richtlinieneinstellung zum Erstellen einer Bulletin Board-API mit Zertifizierungsberechtigung in Rails 6
# 8 Seed-Implementierung zum Erstellen einer Bulletin Board-API mit Zertifizierungsautorisierung in Rails 6
Einführung des Serializers Nr. 9 zum Erstellen einer Bulletin-Board-API mit Zertifizierung und Autorisierung in Rails 6
Erstellen Sie eine Bulletin Board-API mit Zertifizierung und Autorisierung in Rails 6 # 6. Zeigen Sie, erstellen Sie die Implementierung
Erstellen Sie eine Bulletin Board-API mit Zertifizierungsberechtigung im Rails 6 # 7-Update und zerstören Sie die Implementierung
So erstellen Sie eine API mit GraphQL und Rails
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
[Rails] [Docker] Kopieren und Einfügen ist in Ordnung! So erstellen Sie eine Rails-Entwicklungsumgebung mit Docker
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
Erstellen Sie mit Docker-Introduce Bootstrap und Font Awesome with Webpack- eine lokale Entwicklungsumgebung für Rails-Tutorials.