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.
Ein Computer, der Daten als Antwort auf Client- (Browser-) Anforderungen bereitstellt. Dieser Server muss gestartet werden, um mit Rails erstellte Apps im Browser anzuzeigen.
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.
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.
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.
Es ist wie eine Korrespondenztabelle, die entscheidet, welcher Controller und welche Aktion für die gesendete URL verwendet werden soll.
Ein Ort zum Speichern Ihrer Daten.
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.
Eine Klasse, die mit der Datenbank interagiert. Daten können in einer Tabelle gespeichert werden, indem eine Instanz des Modells erstellt und gespeichert wird.
Eine Datei, die die Datenbank auffordert, Änderungen vorzunehmen.
<% %>
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("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.
@post = "hogehoge"
Wenn Sie es in der Controller-Datei definieren, können Sie es beim Einbetten von Ruby-Code in die Ansichtsdatei verwenden.
Modellname.new(Spaltenname:Wert)
ex) post = Post.new(content: "hogehoge")
Erstellen Sie eine Instanz aus dem Modell.
Instanzname.save
ex) post.save
Speichern Sie die erstellte Instanz in einer Tabelle.
Modellname.all
ex) posts = Post.all
Holen Sie sich alle Datensätze in der Tabelle.
Modellname.find_by(Spaltenname:Wert)
ex) post = Post.find_by(id: 1)
Holen Sie sich Daten, die einer bestimmten Bedingung entsprechen.
Modellname.where(Spaltenname:Wert)
ex) posts = Post.where(id: 1)
Erfassen Sie mehrere Daten, die eine bestimmte Bedingung erfüllen.
redirect_to("URL")
ex) redirect_to("/posts/index")
Sie können auf die angegebene Seite übertragen.
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.
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.
Instanzname.destroy
ex) post.destroy
Löscht die angegebenen Daten (Instanz) aus der Datenbank.
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.
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.
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.
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.
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 |
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.
--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 server
Starten Sie den Server.
--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.
rails db:migrate
Reflexion der Migrationsdatei in die Datenbank.
Ich habe eine Migrationsdatei erstellt, aber wenn ich sie nicht ausführe, wird eine Fehlermeldung angezeigt.
progate ist gut.
Recommended Posts