[RUBY] Zusammenfassung der Grundkenntnisse von Rails, die von progate erworben wurden

Für welche Art von Person ist der Artikel?

Was für ein Artikel

Dies ist ein Artikel, der auflistet, was der Autor, der ein Anfänger von Rails ist, im Rails-Kurs von progate gelernt hat, den er neulich abgeschlossen hat. Da es an einigen Stellen durch Informationen aus anderen Artikeln ergänzt wird, gibt es einige Unterschiede zu den Inhalten, die vom progate-Management ausgedrückt und erklärt werden.

Verschiedene Konzepte

Server

Ein Computer, der Daten als Antwort auf Client- (Browser-) Anforderungen bereitstellt. Dieser Server muss gestartet werden, um mit Rails erstellte Apps im Browser anzuzeigen.

Aussicht

Eine HTML-Datei zum Erstellen des Erscheinungsbilds einer Seite. In der Interaktion zwischen dem Browser und Rails gibt Rails eine Ansicht zurück, um die Seite anzuzeigen. Die Erweiterung lautet .html.erb. erb ist eine Abkürzung für Embedded Ruby, ein Mechanismus zum Einbetten von Ruby-Skripten in HTML-Dateien. Eines der drei Elemente, die zum Erstellen einer Seite benötigt werden, ähnlich dem Controller-Routing unten.

Regler

Zum Zurückgeben einer Ansicht an den Browser. Jeder Controller wird entsprechend dem Zweck erstellt. Beispielsweise werden postbezogene Funktionen und benutzerbezogene Funktionen in separaten Controller-Dateien angegeben.

Aktion

Eine Funktion in der Steuerung, um die Ansicht zu finden, die zum Browser zurückkehren soll. Wird als Methode in der Controller-Datei ausgedrückt.

Routing

Es ist wie eine Korrespondenztabelle, die entscheidet, welcher Controller und welche Aktion für die gesendete URL verwendet werden soll.

Datenbank

Ein Ort zum Speichern Ihrer Daten.

Tabelle

Eine Tabelle, die Daten in der Datenbank verwaltet. Die Daten für jede Zeile werden als Datensatz und die Daten für jede Spalte als Spalte bezeichnet.

Modell-

Eine Klasse, die mit der Datenbank interagiert. Daten können in einer Tabelle gespeichert werden, indem eine Instanz des Modells erstellt und gespeichert wird.

Migrationsdatei

Eine Datei, die die Datenbank auffordert, Änderungen vorzunehmen.

Codierung

In Ansichtsdateien verwendeter Code

<% %>

ex)<%= @post %>

Wenn Sie Ruby-Code in eine HTML-Datei einbetten, schreiben Sie ihn vor und nach dem Code. Wenn der Code im Browser angezeigt werden soll, schreiben Sie vor und nach dem Code "<% =%>".

link_to Methode

<%= link_to("Zeichen angezeigt werden", "URL") %>
ex) <%= link_to("Beitragsliste", "/posts/index")%>

Erstellen Sie einen Link. Wird in HTML-Dateien verwendet. Durch Hinzufügen von {method: "post"} zum dritten Argument entspricht es dem als post definierten Routing.

form_tag

<%= form_tag("URL") do %>
Daten
<% end %>

ex)
<%= form_tag("/posts/update") do %>
 <textarea name="content"><%= @post.content %><textarea>
  <input type="submit" value="Post">
<% end %>

Die im Formular eingegebenen Daten können an die angegebene URL gesendet werden. Form_tag allein ist jedoch bedeutungslos. Durch Angabe des Namensattributs im Textbereich-Tag (oder Eingabe-Tag) kann der Hash mit dem Namensattribut als Schlüssel an die Aktionsseite übertragen werden. Wenn Sie wie oben beschrieben einen Wert zwischen die Textbereich-Tags setzen, können Sie nebenbei die Fortsetzung dessen eingeben, was Sie ursprünglich beim erneuten Eingeben des Formulars eingegeben haben.

errors.full_messages

<%Instanzname.errors.full_messages.each do |message| %>
  <%= message %>
<% end %>

ex)
<% @posts.errors.full_messages.each do |message| %>
  <%= message %>
<% end %>

Geben Sie eine Fehlermeldung aus. Wenn die Validierung beim Aufrufen der Speichermethode fehlschlägt, generiert Rails automatisch eine Fehlermeldung, sodass Sie mithilfe der einzelnen Anweisungen alles anzeigen können.

yield

html:views/layout/application.html.erb


<%= yield %>

Jede Ansichtsdatei ist dem in application.html.erb beschriebenen Ertrag zugeordnet. application.html.erb ist eine Ansichtsdatei, die das Layout beschreibt, das für die gesamte Site gilt.

In der Controller-Datei verwendeter Code

@Variable

@post = "hogehoge"

Wenn Sie es in der Controller-Datei definieren, können Sie es beim Einbetten von Ruby-Code in die Ansichtsdatei verwenden.

neue Methode

Modellname.new(Spaltenname:Wert)
ex) post = Post.new(content: "hogehoge")

Erstellen Sie eine Instanz aus dem Modell.

Speichermethode

Instanzname.save
ex) post.save

Speichern Sie die erstellte Instanz in einer Tabelle.

alle Methode

Modellname.all
ex) posts = Post.all

Holen Sie sich alle Datensätze in der Tabelle.

find_by Methode

Modellname.find_by(Spaltenname:Wert)
ex) post = Post.find_by(id: 1)

Holen Sie sich Daten, die einer bestimmten Bedingung entsprechen.

wo Methode

Modellname.where(Spaltenname:Wert)
ex) posts = Post.where(id: 1)

Erfassen Sie mehrere Daten, die eine bestimmte Bedingung erfüllen.

redirect_to Methode

redirect_to("URL")
ex) redirect_to("/posts/index")

Sie können auf die angegebene Seite übertragen.

Render-Methode

render("Ordnernamen/Dateiname")
ex) render("posts/edit")

Sie können die Ansicht direkt anzeigen, ohne eine andere Aktion auszuführen. Es wird häufig verwendet, wenn das Speichern von Daten fehlschlägt.

Bestellmethode

Modellname.order(Spaltenname: :Sortierreihenfolge)
ex) @posts = Post.all.order(created_at: :desc) 

Sortieren Sie die erfassten Daten. : desc steht für absteigende Reihenfolge und: asc steht für aufsteigende Reihenfolge.

Methode zerstören

Instanzname.destroy
ex) post.destroy

Löscht die angegebenen Daten (Instanz) aus der Datenbank.

Variable Sitzung

session[:Schlüsselname] =Wert
ex) session[:user_id] = @user.id

Die Informationen des angemeldeten Benutzers bleiben auch dann erhalten, wenn die Seite verschoben wird. Sie können verhindern, dass es angemeldet wird, indem Sie nil ersetzen.

params

ex1) @id = params[:id]
ex2) @post = Post.new(content: params[:content])

Beispiel 1. Ermitteln Sie den Wert von: ○○ der im Routing festgelegten URL. Beispiel 2. Empfangen Sie den Eingabeinhalt des Formulars mit dem Namen = "○○".

before_action

before_Aktion Gemeinsame Verarbeitung für alle Aktionen
ex) before_action :set_current_user, {only: [:edit, :update]}

Der beschriebene Prozess wird immer ausgeführt, bevor eine Aktion aufgerufen wird. Schreiben Sie oben in die Datei. Mit {only: [: action name]} können die auszuführenden Aktionen eingeschränkt werden.

In der Routing-Datei verwendeter Code

Methode abrufen

App Name/config/routes.rb


get "URL" => "Controller-Name#Aktionsname"
ex) get "/posts/index" => "posts#index"

Holen Sie sich die angegebenen Informationen. Wenn Sie die Datenbank nicht ändern möchten, verwenden Sie get. get und der folgende Beitrag heißen HTTP-Methoden.

Post-Methode

App Name/config/routes.rb


post "URL" => "Controller-Name#Aktionsname"
ex) post "/posts/create" => "posts#create"

Die Methode zum Ändern des Sitzungswerts beim Ändern der Datenbank. Es scheint, dass es verschiedene andere HTTP-Methoden gibt, aber ich habe sie noch nicht gelernt, deshalb werde ich sie hier weglassen.

Benannte Parameter

App Name/config/routes.rb


get "posts/:id" => "posts#show"

Wenn Sie eine Zeichenfolge beginnend mit: im URL-Teil des Routings einfügen, wird diese Zeichenfolge als Parameter erkannt. Daher können in diesem Beispiel alle URLs wie / posts / ○○ an die Show-Aktion weitergeleitet werden. In diesem Zusammenhang müssen Routings wie / posts / index davor geschrieben werden, damit sie nicht in den Routings für / posts /: id hängen bleiben.

In der Modelldatei verwendeter Code

validates

validates :Zu überprüfender Spaltenname, {Inhalt muss überprüft werden}
ex) validates :content, {presence: true}

Überprüfen Sie die Daten (Validierung), damit keine schädlichen Daten in der Datenbank gespeichert werden. Die Hauptinhalte der Überprüfung lauten wie folgt.

Überprüfungsinhalt Bedeutung
presecse: true Überprüfen Sie, ob der Wert in dieser Spalte vorhanden ist
length: {maximum:Wortzahl} Verhindern Sie, dass Daten mehr als die angegebene Anzahl von Zeichen speichern
uniqueness: true Überprüfen Sie die Datenbank auf doppelte Daten

In der Migrationsdatei verwendeter Code

add_column :Tabellenname, :Spaltenname, :Datentyp
ex) add_column :users, :image_name, :string

Fügen Sie einer vorhandenen Tabelle eine Spalte hinzu. Schreiben Sie in die Änderungsmethode.

Befehlszeile

--rails neuer App Name Ein Ordner mit demselben Namen wie der eingegebene Anwendungsname wird erstellt, und die für die Entwicklung erforderlichen Ordner und Dateien werden darin vorbereitet.

--rails g controller Controller name Aktionsname Controller erstellen. g kann erzeugt werden. Der Controller-Name und der Aktionsname stimmen häufig mit der HTTP-Methode (URL) überein.

--rails g model Modellname Spaltenname: Datentyp Erstellen einer Migrationsdatei und einer Modelldatei. Der Modellname ist singulär und der erste Buchstabe wird groß geschrieben.

--rails g Name der Migrationsdatei Erstellen Sie nur die Migrationsdatei. Der Dateiname sollte beschreibend sein, z. B. add_image_name_to_users.

Zusammenfassung

progate ist gut.

Artikel, auf die verwiesen wird

Referenzierte Bücher

Recommended Posts

Zusammenfassung der Grundkenntnisse von Rails, die von progate erworben wurden
[Java] Grundlegende Zusammenfassung von Java, die nicht von Progate abgedeckt wird ~ Teil 1 ~
Grundkenntnisse in Ruby on Rails
[Java] Grundlegende Zusammenfassung von Java, die nicht von Progate abgedeckt wird ~ Teil 2 ・ Liste ~
Zusammenfassung der grundlegenden Migrationswissensschienen db: Rollback und Hinzufügen / Löschen von Spalten
Zusammenfassung der Grundfunktionen von ImageJ
[Rails] Einführung von Rubocop durch Anfänger
[Rails] Zusammenfassung der komplizierten Routing-Konfiguration
[Grundkenntnisse in Java] Umfang der Variablen
[Rails] Temporäre Aufbewahrung von Daten pro Sitzung
Grundwissen
Zusammenfassung des Docker-Verständnisses für Anfänger do ~ Docker-Compose ~
[Java] Persönliche Zusammenfassung der bedingten Anweisungen (grundlegend)
Grundkenntnisse in der Java-Entwicklung Schreiben von Notizen
Rails Tutorial Kapitel 0: Vorbereitende Grundkenntnisse 5
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
Denkweise beim Studium grundlegender Programmkenntnisse
Nur Zusammenfassung zum Einrichten des Rails-Tutorials
[Ruby] Grundkenntnisse über Klasseninstanzvariablen usw.
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
Zusammenfassung des Docker-Verständnisses für Anfänger do ~ Docker-Run -p ~
Zusammenfassung des Java-Wissens
Java Grundkenntnisse 1
Rails 6.0-Routing-Zusammenfassung
Schienen Grundphilosophie
Schienen db: 〇〇 Zusammenfassung
Zusammenfassung der häufig verwendeten Befehle in Rails und Docker
Eine Überprüfung des von Rails-Anfängern verwendeten Codes
Zusammenfassung der Revisionen (neue Yuan-Probleme) nach Java-Version
Eine kurze Zusammenfassung der Rails-Zuordnungsoptionen (Foreign_key, Primary_key)
Bildverarbeitung: Grundstruktur des vom Programm gelesenen Bildes
Zusammenfassung der Kenntnisse, die zum Bestehen von Java SE8 Silver erforderlich sind
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①