[RUBY] [Rails] So implementieren Sie einen Unit-Test eines Modells

Voraussetzungen

Dieses Mal geben wir die Methode aus, während wir einen Komponententest des Modells für die Registrierung neuer Benutzer implementieren. Die Spezifikationen für die Benutzerregistrierung lauten wie folgt.

Spitzname erforderlich
Die E-Mail-Adresse ist eindeutig
Mail-Adresse ist@Und Domain muss enthalten sein
Passwort erforderlich
Das Passwort muss aus mindestens 7 Zeichen bestehen
Geben Sie das Passwort zweimal ein, auch zur Bestätigung
Für den Vor- und Nachnamen ist ein richtiger Benutzername erforderlich
Lassen Sie den richtigen Namen des Benutzers in voller Breite eingeben
Für den Vor- und Nachnamen ist eine Frigana des tatsächlichen Namens des Benutzers erforderlich
Lassen Sie den richtigen Namen des Benutzers Frigana in voller Breite eingeben
Geburtsdatum ist erforderlich

Die Migrationsdatei lautet wie folgt.

20200823050614_devise_create_users.rb


class DeviseCreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      ## Database authenticatable
      t.string  :nickname,              null: false
      t.string  :email,                 null: false, default: ""
      t.string  :encrypted_password,    null: false, default: ""
      t.string  :family_name,           null: false
      t.string  :family_name_kana,      null: false
      t.string  :first_name,            null: false
      t.string  :first_name_kana,       null: false
      t.date    :birth_day,             null: false

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      # t.integer  :sign_in_count, default: 0, null: false
      # t.datetime :current_sign_in_at
      # t.datetime :last_sign_in_at
      # t.string   :current_sign_in_ip
      # t.string   :last_sign_in_ip

      ## Confirmable
      # t.string   :confirmation_token
      # t.datetime :confirmed_at
      # t.datetime :confirmation_sent_at
      # t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at
      t.timestamps null: false
    end

    add_index :users, :email,                 unique: true
    add_index :users, :reset_password_token,  unique: true
    # add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end
end

Das Modell ist wie folgt.

user.rb


class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable

    #Validierungseinstellungen(Eindeutigkeitsbeschränkung, um zu verhindern, dass leere Zeichenfolgen gespeichert werden)
    validates :nickname,               presence: true
    validates :encrypted_password,     presence: true
    validates :family_name,            presence: true
    validates :family_name_kana,       presence: true
    validates :first_name,             presence: true
    validates :first_name_kana,        presence: true
    validates :birth_day,              presence: true
    
    #Verband
    has_many :cards,          dependent: :destroy
    has_many :shipping_infos, dependent: :destroy
    has_many :comments,       dependent: :destroy
    has_many :items
end

Montagevorgang

** ① Vorbereitung für RSpec ** ** ② RSpec-Einstellungen ** ** ③ Werksbot einführen ** ** ④ Implementierung von factory_bot ** ** ⑤ Beschreibung des regulären Ausdrucks ** ** ⑥ Implementierung des Testcodes ** ** ⑦ Ausführung des Testcodes **

RSpec Vorbereitung

Installieren Sie zuerst Gem.

Gemfile.rb


group :development, :test do
  
  #Kürzung

  gem 'rspec-rails'
end

group :development do
  gem 'web-console'
end

# web_Wenn die Konsole bereits eine Beschreibung hat, verschieben Sie einfach den Beschreibungsort. Bitte beachten Sie, dass es beim Hinzufügen möglicherweise dupliziert wird.

Vergessen Sie nach dem Bearbeiten der Gemfile nicht, die Bundle-Installation auszuführen.

RSpec-Einstellungen

Nehmen Sie als Nächstes die Grundeinstellungen für RSpec vor. Erstellen Sie zunächst eine Einstellungsdatei für RSpec.

Terminal.


$ rails g rspec:install

#Erfolg, wenn die Datei wie folgt erstellt wird ▼
 create  .rspec
 create  spec
 create  spec/spec_helper.rb
 create  spec/rails_helper.rb

Fügen Sie als Nächstes Folgendes zu .rspec hinzu.

.rspec.


--format documentation

Legen Sie als Nächstes das Verzeichnis für RSpec fest.

Die Datei, in die der Testcode von RSpec geschrieben wird, wird als Spezifikationsdatei bezeichnet, und alle Spezifikationsdateien werden in dem Spezifikationsverzeichnis gespeichert, das mit dem vorherigen Befehl rails g rspec: install generiert wurde. Erstellen Sie sie daher hier. Lass es uns behalten.

Eine Testdatei für Modelle wird unter spec / models / und eine Testdatei für Controller unter spec / controller / gespeichert. In diesem Verzeichnis befindet sich der gesamte Code unter dem zu testenden App-Verzeichnis.

Die Spezifikationsdatei heißt _spec.rb mit der entsprechenden Klasse. Dieses Mal erstellen wir zuerst eine Spezifikationsdatei für "user.rb", daher lautet der Name in diesem Fall "user_spec.rb".

Überprüfen Sie nach dem Erstellen des Verzeichnisses einmal, ob ** RSpec ** normal verwendet werden kann.

Terminal.


$ bundle exec rspec

#Wenn das Ergebnis wie folgt lautet, ist es in Ordnung, da es normal funktioniert.
No examples found.

Finished in 0.00031 seconds (files took 0.19956 seconds to load)
0 examples, 0 failures

Factory_bot eingeführt

Dann installieren Sie ** factory_bot **. Installieren Sie Gem.

Gemfile.rb


group :development, :test do
  
  #Kürzung

  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

Führen Sie dann die Bundle-Installation aus.

Implementierung von factory_bot

Erstellen Sie als Nächstes ein Verzeichnis mit dem Namen "Fabriken" direkt unter dem Spezifikationsverzeichnis und erstellen Sie darin eine Ruby-Datei mit dem Plural-Dateinamen der erstellten Instanz. In diesem Fall ist es "users.rb".

Bearbeiten Sie users.rb wie folgt.

users.rb


FactoryBot.define do

  factory :user do
    nickname              {"tarou"}
    email                 {"[email protected]"}
    password              {"1234567"}
    encrypted_password    {"1234567"}
    family_name           {"Yamada"}
    family_name_kana      {"Yamada"}
    first_name            {"Taro"}
    first_name_kana       {"Taro"}
    birth_day             {"2000-01-01"}
  end
end

Diese Beschreibung erstellt den Inhalt gemäß den Spezifikationen als Dummy-Daten, sodass Sie eine Instanz einfach mit einer bestimmten Methode (Erstellen oder Erstellen) in der Spezifikationsdatei erstellen oder in der Datenbank speichern können. Es wird so sein.

Beschreibung des regulären Ausdrucks

Stellen Sie als Nächstes den regulären Ausdruck in der Validierung gemäß den Spezifikationen ein. Die erforderlichen regulären Ausdrücke sind:

Das Passwort muss aus mindestens 7 Zeichen bestehen
Lassen Sie den richtigen Namen des Benutzers in voller Breite eingeben
Lassen Sie den richtigen Namen des Benutzers Frigana in voller Breite eingeben

Basierend auf diesen ist die Beschreibung im Modell wie folgt.

user.rb


class User < ApplicationRecord
    #Kürzung

    validates :nickname,               presence: true
    validates :encrypted_password,     presence: true, length: { minimum: 7 } #Hier ist der reguläre Ausdruck für die Anzahl der Zeichen
    validates :family_name,            presence: true, format: {with: /\A[Ah-Hmm-Einer-龥]/ } #Dies ist der echte Name des Benutzers in voller Breite
    validates :family_name_kana,       presence: true, format: {with: /\A[EIN-Wagen-]+\z/ } #Dies ist der reguläre Ausdruck von Frigana in voller Breite
    validates :first_name,             presence: true, format: {with: /\A[Ah-Hmm-Einer-龥]/ } #Dies ist der echte Name des Benutzers in voller Breite
    validates :first_name_kana,        presence: true, format: {with: /\A[EIN-Wagen-]+\z/ } #Dies ist der reguläre Ausdruck von Frigana in voller Breite

    #Kürzung
end

Auf der folgenden Website finden Sie reguläre Ruby-Ausdrücke. https://gist.github.com/nashirox/38323d5b51063ede1d41

Implementierung von Testcode

Jetzt ist es Zeit, den Testcode zu implementieren! Beachten Sie beim Schreiben von Testcode die folgenden Punkte:

① In jedem Beispiel wird ein Wert erwartet
② Beschreiben Sie das erwartete Ergebnis klar und deutlich
③ Testen Sie sowohl, was passieren soll als auch was nicht
④ Machen Sie es mäßig trocken, während Sie die Lesbarkeit berücksichtigen

Schreiben Sie den folgenden Code in user_spec.rb.

user_spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

  end
end

Da dies ein Komponententest des Benutzermodells ist, wird es "User Do beschreiben" sein, und da ein neuer Benutzer erstellt wird, wird es "# Do" Do beschreiben "und der Testcode wird in der Beschreibung in der zweiten Zeile geschrieben.

Testen Sie zunächst, ob Sie sich registrieren können, wenn alle Elemente eingegeben wurden **. Der Code und seine Erklärung lauten wie folgt.

user_spec.rb


require 'rails_helper'

describe User do
  describe '#create' do
    #Test bei Eingabe ▼

    it "Eine Registrierung ist möglich, wenn alle Artikel eingegeben wurden" do #Was möchten Sie testen?
      user = build(:user)  #Verwenden der Erstellungsmethode für den variablen Benutzer "factory"_Ersetzen Sie Bot-Dummy-Daten
      expect(user).to be_valid #Führen Sie einen Test durch, um festzustellen, ob die Registrierung mit den Informationen des variablen Benutzers erfolgt
    end
  end
end

Der nächste Test ist wie folgt.

Ohne Spitznamen kann nicht registriert werden
Ohne E-Mail kann nicht registriert werden
Ohne Passwort kann nicht registriert werden
encrypted_Ohne Passwort kann nicht registriert werden
family_Ohne Namen kann nicht registriert werden
family_name_Ohne Kana kann ich mich nicht registrieren
first_Ohne Namen kann nicht registriert werden
first_name_Ohne Kana kann ich mich nicht registrieren
birth_Kann sich nicht registrieren, wenn es keinen Tag gibt

Diese Bedingungen dienen zum Testen der erforderlichen Elemente (null: false, Anwesenheit: true) in der Spezifikation. Beschreiben wir es. Die Erklärung wird im Testteil von ** Kann nicht ohne Spitznamen ** registriert werden.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Test bei Eingabe ▼

      it "Eine Registrierung ist möglich, wenn alle Artikel eingegeben wurden" do
        user = build(:user)
        expect(user).to be_valid
      end

      # nul:false, presence:Wahrer Test ▼

      it "Ohne Spitznamen kann nicht registriert werden" do #Was möchten Sie testen?
        user = build(:user, nickname: nil) #Verwenden der Erstellungsmethode für den variablen Benutzer "factory"_Ersetzen Sie Bot-Dummy-Daten(Setzen Sie in diesem Fall absichtlich den Wert von nickname auf)
        user.valid? #Verwenden Sie die Validierungsmethode, um zu testen, ob sie aufgrund der Validierung nicht gespeichert werden kann.
        expect(user.errors[:nickname]).to include("Bitte eingeben") #Verwenden Sie die Fehlermethode, um zu überprüfen, warum ich nicht speichern kann, wenn die Validierung nicht funktioniert..to include("Bitte eingeben")Schreiben Sie die Fehleranweisung in(Da diese Rails ins Japanische übersetzt werden, ist der Fehlersatz auch auf Japanisch)
      end

      it "Ohne E-Mail kann nicht registriert werden" do
        user = build(:user, email: nil)
        user.valid?
        expect(user.errors[:email]).to include("Bitte eingeben")
      end

      it "Ohne Passwort kann nicht registriert werden" do
        user = build(:user, password: nil)
        user.valid?
        expect(user.errors[:password]).to include("Bitte eingeben")
      end

      it "encrypted_Ohne Passwort kann nicht registriert werden" do
        user = build(:user, encrypted_password: nil)
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte eingeben")
      end

      it "family_Ohne Namen kann nicht registriert werden" do
        user = build(:user, family_name: nil)
        user.valid?
        expect(user.errors[:family_name]).to include("Bitte eingeben")
      end

      it "family_name_Ohne Kana kann ich mich nicht registrieren" do
        user = build(:user, family_name_kana: nil)
        user.valid?
        expect(user.errors[:family_name_kana]).to include("Bitte eingeben")
      end

      it "first_Ohne Namen kann nicht registriert werden" do
        user = build(:user, first_name: nil)
        user.valid?
        expect(user.errors[:first_name]).to include("Bitte eingeben")
      end

      it "first_name_Ohne Kana kann ich mich nicht registrieren" do
        user = build(:user, first_name_kana: nil)
        user.valid?
        expect(user.errors[:first_name_kana]).to include("Bitte eingeben")
      end

      it "birth_Kann sich nicht registrieren, wenn es keinen Tag gibt" do
        user = build(:user, birth_day: nil)
        user.valid?
        expect(user.errors[:birth_day]).to include("Bitte eingeben")
      end
  end
end

Als Nächstes testen wir die Eindeutigkeitsbeschränkung von E-Mails.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Kürzung

      #E-Mail-Eindeutigkeitsbeschränkungstest ▼

      it "Kann nicht registriert werden, wenn doppelte E-Mails vorhanden sind" do
        user = create(:user) #Factory, um Benutzer und Datenbank mithilfe der Erstellungsmethode zu variieren_Speichern Sie Bot-Dummy-Daten
        another_user = build(:user, email: user.email) #Zweitens eine andere_Erstellen Sie einen Benutzer als Variable und verwenden Sie die Erstellungsmethode, um E-Mail-Inhalte absichtlich zu duplizieren
        another_user.valid? # another_Testbenutzer "Kann aufgrund von Validierung nicht gespeichert werden"
        expect(another_user.errors[:email]).to include("Ist bereits vorhanden") #Verwenden Sie die Fehlermethode, um die E-Mail "Warum kann ich aufgrund einer Validierung nicht speichern?" Zu überprüfen und die Fehleranweisung zu schreiben, die sie verursacht hat.
      end
  end
end

Führen Sie als Nächstes einen Test aus, der ohne ein Bestätigungskennwort nicht registriert werden kann.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Kürzung

      #Test, für den ein Bestätigungskennwort erforderlich ist ▼
      
      it "verschlüsselt, auch wenn Passwort existiert_Ohne Passwort kann nicht registriert werden" do
        user = build(:user, encrypted_password: "") #Leeren Sie absichtlich den Wert des Bestätigungskennworts
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte eingeben", "Bitte geben Sie mindestens 7 Zeichen ein")
      end
  end
end

Zu diesem Zeitpunkt wurden die folgenden Tests abgeschlossen.

#Test abgeschlossen ▼

Spitzname erforderlich#Erledigt
Die E-Mail-Adresse ist eindeutig#Erledigt
Mail-Adresse ist@Und Domain muss enthalten sein#Erledigt
Passwort erforderlich#Erledigt
Geben Sie das Passwort zweimal ein, auch zur Bestätigung#Erledigt
Für den Vor- und Nachnamen ist ein richtiger Benutzername erforderlich#Erledigt
Für den Vor- und Nachnamen ist eine Frigana des tatsächlichen Namens des Benutzers erforderlich#Erledigt
Geburtsdatum ist erforderlich#Erledigt

#Test soll ab sofort durchgeführt werden ▼

Das Passwort muss aus mindestens 7 Zeichen bestehen
Lassen Sie den richtigen Namen des Benutzers in voller Breite eingeben
Lassen Sie den richtigen Namen des Benutzers Frigana in vollem Winkel eingeben

Testen wir nun den zuvor beschriebenen regulären Ausdruck. Zuallererst ist das Passwort ein Test mit 7 Zeichen oder mehr.

Testen Sie sowohl ** was Sie wollen als auch was Sie nicht wollen **.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Kürzung

      #Test der Kennwortanzahl ▼

      it "Sie können sich registrieren, wenn das Passwort aus 7 Zeichen oder mehr besteht" do
        user = build(:user, password: "1234567", encrypted_password: "1234567") #Legen Sie mithilfe der Erstellungsmethode ein 7-stelliges Kennwort fest
        expect(user).to be_valid
      end
      
      it "Kann nicht registriert werden, wenn das Passwort 7 Zeichen oder weniger enthält" do
        user = build(:user, password: "123456", encrypted_password: "123456") #Legen Sie absichtlich ein 6-stelliges Passwort fest, um zu testen, ob ein Fehler auftritt
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte geben Sie mindestens 7 Zeichen ein")
      end
  end
end

Schließlich werden wir die Eingabe in voller Breite und die Kana-Eingabe in voller Breite testen.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Kürzung

      #Nennen Sie den Eingangstest in voller Breite ▼

      it 'family_Eine Registrierung ist nur möglich, wenn der Name in voller Breite eingegeben wurde' do
        user = build(:user, family_name: "Aio") #Geben Sie absichtlich die halbe Breite ein und erzeugen Sie einen Fehler
        user.valid?
        expect(user.errors[:family_name]).to include("Ist ein ungültiger Wert")
      end

      it 'first_Eine Registrierung ist nur möglich, wenn der Name in voller Breite eingegeben wurde' do
        user = build(:user, first_name: "Aio") #Geben Sie absichtlich die halbe Breite ein und erzeugen Sie einen Fehler
        user.valid?
        expect(user.errors[:first_name]).to include("Ist ein ungültiger Wert")
      end

      #Katakana-Eingabetest in voller Breite ▼

      it 'family_name_Nur Katakana in voller Breite kann für Kana registriert werden' do
        user = build(:user, family_name_kana: "AIUEO") #Geben Sie absichtlich Hiragana ein, um einen Fehler zu generieren
        user.valid?
        expect(user.errors[:family_name_kana]).to include("Ist ein ungültiger Wert")
      end
      
      it 'first_name_Nur Katakana in voller Breite kann für Kana registriert werden' do
        user = build(:user, first_name_kana: "AIUEO") #Geben Sie absichtlich Hiragana ein, um einen Fehler zu generieren
        user.valid?
        expect(user.errors[:first_name_kana]).to include("Ist ein ungültiger Wert")
      end
  end
end

Damit ist die Funktionsprüfung gemäß den Spezifikationen abgeschlossen. Das Endergebnis ist wie folgt.

user.spec.rb


require 'rails_helper'

describe User do
  describe '#create' do

      #Test bei Eingabe ▼

      it "Eine Registrierung ist möglich, wenn alle Artikel eingegeben wurden" do
        user = build(:user)
        expect(user).to be_valid
      end

      # nul:false, presence:Wahrer Test ▼

      it "Ohne Spitznamen kann nicht registriert werden" do
        user = build(:user, nickname: nil)
        user.valid?
        expect(user.errors[:nickname]).to include("Bitte eingeben")
      end

      it "Ohne E-Mail kann nicht registriert werden" do
        user = build(:user, email: nil)
        user.valid?
        expect(user.errors[:email]).to include("Bitte eingeben")
      end

      it "Ohne Passwort kann nicht registriert werden" do
        user = build(:user, password: nil)
        user.valid?
        expect(user.errors[:password]).to include("Bitte eingeben")
      end

      it "encrypted_Ohne Passwort kann nicht registriert werden" do
        user = build(:user, encrypted_password: nil)
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte eingeben")
      end

      it "family_Ohne Namen kann nicht registriert werden" do
        user = build(:user, family_name: nil)
        user.valid?
        expect(user.errors[:family_name]).to include("Bitte eingeben")
      end

      it "family_name_Ohne Kana kann ich mich nicht registrieren" do
        user = build(:user, family_name_kana: nil)
        user.valid?
        expect(user.errors[:family_name_kana]).to include("Bitte eingeben")
      end

      it "first_Ohne Namen kann nicht registriert werden" do
        user = build(:user, first_name: nil)
        user.valid?
        expect(user.errors[:first_name]).to include("Bitte eingeben")
      end

      it "first_name_Ohne Kana kann ich mich nicht registrieren" do
        user = build(:user, first_name_kana: nil)
        user.valid?
        expect(user.errors[:first_name_kana]).to include("Bitte eingeben")
      end

      it "birth_Kann sich nicht registrieren, wenn es keinen Tag gibt" do
        user = build(:user, birth_day: nil)
        user.valid?
        expect(user.errors[:birth_day]).to include("Bitte eingeben")
      end
      
      #Test der Kennwortanzahl ▼

      it "Sie können sich registrieren, wenn das Passwort aus 7 Zeichen oder mehr besteht" do
        user = build(:user, password: "1234567", encrypted_password: "1234567")
        expect(user).to be_valid
      end
      
      it "Kann nicht registriert werden, wenn das Passwort 7 Zeichen oder weniger enthält" do
        user = build(:user, password: "123456", encrypted_password: "123456")
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte geben Sie mindestens 7 Zeichen ein")
      end

      #E-Mail-Eindeutigkeitsbeschränkungstest ▼

      it "Kann nicht registriert werden, wenn doppelte E-Mails vorhanden sind" do
        user = create(:user)
        another_user = build(:user, email: user.email)
        another_user.valid?
        expect(another_user.errors[:email]).to include("Ist bereits vorhanden")
      end

      #Test, für den ein Bestätigungskennwort erforderlich ist ▼
      
      it "verschlüsselt, auch wenn Passwort existiert_Ohne Passwort kann nicht registriert werden" do
        user = build(:user, encrypted_password: "")
        user.valid?
        expect(user.errors[:encrypted_password]).to include("Bitte eingeben", "Bitte geben Sie mindestens 7 Zeichen ein")
      end

      #Name der Identitätsüberprüfung in voller Breite ▼

      it 'family_Es können nur Eingaben in voller Breite registriert werden' do
        user = build(:user, family_name: "Aio")
        user.valid?
        expect(user.errors[:family_name]).to include("Ist ein ungültiger Wert")
      end

      it 'first_Eine Registrierung ist nur möglich, wenn der Name in voller Breite eingegeben wurde' do
        user = build(:user, first_name: "Aio")
        user.valid?
        expect(user.errors[:first_name]).to include("Ist ein ungültiger Wert")
      end

      #Identitätsprüfung Katakana Eingabetest in voller Breite ▼

      it 'family_name_Nur Katakana in voller Breite kann für Kana registriert werden' do
        user = build(:user, family_name_kana: "AIUEO")
        user.valid?
        expect(user.errors[:family_name_kana]).to include("Ist ein ungültiger Wert")
      end
      
      it 'first_name_Nur Katakana in voller Breite kann für Kana registriert werden' do
        user = build(:user, first_name_kana: "AIUEO")
        user.valid?
        expect(user.errors[:first_name_kana]).to include("Ist ein ungültiger Wert")
      end
  end
end

Ausführung des Testcodes

Führen Sie den folgenden Befehl im Terminal des Verzeichnisses der Anwendung aus, die den Test beschreibt.

Terminal.


$ bundle exec rspec         

Wenn die Verarbeitung dann wie in der Abbildung unten gezeigt durchgeführt wird, ist der Test erfolgreich. image.png

Schließlich

Wenn Sie im Komponententest des Modells die grundlegende Grammatik, den Prozess, der einen Fehler verursacht, und den Prozess, der dies nicht tut, verstehen und jede Methode verstehen, können Sie Code schreiben, selbst wenn eine neue Funktion hinzugefügt wird.

Wenn Sie Bedenken haben, teilen Sie uns dies bitte in den Kommentaren mit! Danke, dass du bis zum Ende zugesehen hast!

Recommended Posts

[Rails] So implementieren Sie einen Unit-Test eines Modells
[Rails] So implementieren Sie Scraping
[Rails] So implementieren Sie die Sternebewertung
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
Wie schreibe ich Rails
[Für Anfänger] So implementieren Sie die Löschfunktion
So deinstallieren Sie Rails
So implementieren Sie eine ähnliche Funktion in Rails
So implementieren Sie Paginierung in GraphQL (für Ruby)
So implementieren Sie eine nette Funktion in Ajax mit Rails
So schreiben Sie einen Komponententest für Spring Boot 2
[Rails, JS] So implementieren Sie die asynchrone Anzeige von Kommentaren
So führen Sie einen Java-Komponententest durch (JUnit & Mockito & PowerMock)
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
[Schienen] Wie poste ich Bilder?
[Rails] Verwendung von Enum
[Rails] Verwendung von Enum
Wie man Schienenrouten liest
Verwendung von Rails Join
So beenden Sie den Rails-Server
Wie schreibe ich Rails Seed
[Rails] Verwendung der Validierung
[Schienen] So deaktivieren Sie Turbolinks
[Rails] So verwenden Sie authenticate_user!
[Schienen] Wie man Samen macht
Wie schreibe ich Rails Routing
[Rails] So installieren Sie simple_calendar
[Java] So implementieren Sie Multithreading
[Rails] So installieren Sie reCAPTCHA
[Schienen] Verwendung von Scope
[Ruby on Rails] So implementieren Sie die Tagging- / inkrementelle Suchfunktion für Posts (ohne Gem)
[Rails] Wie man Edelstein "devise" benutzt
So führen Sie einen Komponententest für Spring AOP durch
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
[Rails] Anzeigen von Datenbankinformationen
So legen Sie die Validierung für time_field fest
So installieren Sie JMeter für Mac
[Schienen] So verhindern Sie den Bildschirmübergang
Verwendung von Ruby on Rails
So stellen Sie Bootstrap auf Rails bereit
[Rails] So beschleunigen Sie das Docker-Compose
[Schienen] So fügen Sie neue Seiten hinzu
[Rails] Wie schreibe ich eine Ausnahmebehandlung?
[Rails] So installieren Sie ImageMagick (RMajick)