[RUBY] Tutorial zum Kauen der Schienen [Kapitel 2 Spielzeuganwendung]

2.1 Anwendungsplanung

■rails generate Es gibt vier Möglichkeiten, es zu verwenden. 1.rails generate controller → Controller, Ansicht und Routing generieren 2.rails generate model → Modell und Migrationsdatei generieren 3.rails generate migration → Migrationsdatei generieren 4.rails generate scaffold → Alles generieren (Controller, Ansicht, Modell, Migrationsdatei, Routing).

Die folgende Erklärung ist leicht zu verstehen https://diveintocode.jp/blogs/Technology/RailsGenerateCommand

■ Migration Ein Mechanismus zum Betreiben von DB-Tabellen basierend auf Migrationsdateien. Sie können mit der Datenbank herumspielen, ohne direkt eine SQL-Anweisung zu schreiben. (Sie können eine Tabelle erstellen)

■ Migrationsdatei Eine Konstruktionszeichnung beim Generieren einer Datenbank. Skriptdatei. Dies spiegelt sich in der Datenbank wider, indem Rails db: migrate ausgeführt werden.

2.2 Benutzerressource

■rails generate scaffold User name:string email:string Erstellen Sie eine Tabelle mit dem Namen Benutzer in der Datenbank. Die Tabelle enthält ID, Name und E-Mail-Adresse. meint. Dadurch wird users_controller.rb generiert.

■resources :users Entspricht Benutzern index create new edit show update destroy Sind alle erstellt. ":" Ist ein Symbol.

■ Symbol Die Magie, die Ruby schneller macht.

[Trainieren] Probieren Sie einfach alle 1, 2, 3 und 4 aus.

■@users = User.all Variablen, die mit @ beginnen, werden als Instanzvariablen bezeichnet. In der Steuerung deklarieren. Wenn Sie es deklarieren, können Sie es in der Ansicht verwenden.

[Trainieren]

    1. Es ist mühsam, eine Figur zu machen, also pass.
  1. Sehen Sie sich das angezeigte Verhalten an und suchen Sie nach dem von Scaffold generierten Code, der Benutzerinformationen aus der Datenbank abruft. → Das Modell bezieht sich auf die Datenbank. Das Modell wurde jedoch dieses Mal erstellt ・ Application_record.rb ・ User.rb Es gibt keinen entsprechenden Code in. Dann sucht die Controllerseite nach dem Teil, das sich auf das Modell bezieht. Es gibt nicht viele Stellen, an denen @user = ~ geschrieben ist.

user_controller.rb


  private
    # Use callbacks to share common setup or constraints between actions.
    def set_user
      @user = User.find(params[:id])
    end

Erstellen Sie eine Methode namens set_user. Ich suche einen Benutzer in User.find. find () ist eine Methode, um ein Modell zu finden. params ist auch eine Methode. Der Inhalt kann mit params [: Spaltenname] aufgerufen werden. Hier rufen wir die ID im Modell auf.

    1. Wie lautet der Dateiname der Seite, auf der die Benutzerinformationen bearbeitet werden? Da die Bearbeitungsseite durchsucht wird, lautet die richtige Antwort "edit.html.erb" des integrierten Rubins.

2.3 Mikropost-Ressource

■rails generate scaffold Micropost content:text user_id:integer Generieren Sie eine Migrationsdatei mit ID, Inhalt und Benutzer-ID.

■resources :microposts Entspricht Mikropost index create new edit show update destroy Sind alle erstellt. ":" Ist ein Symbol. Dadurch wird microposts_controller.rb generiert.

[Trainieren] Bitte versuchen Sie es mit 1, 2, 3 und 4.

■validates :content, length: { maximum: 140 } Überprüfung, bei der ein Fehler angezeigt wird, wenn die Länge des Inhalts 140 Zeichen überschreitet.

■ validiert die Methode Eine Nuance, die einen Fehler anzeigt, wenn A in Validierung A und B nicht B ist.

[Trainieren] Kürzung

■has_many :microposts Ein Benutzer hat mehrere Mikroposts. Wird im Modell beschrieben, da es an der Datenbank beteiligt ist. Da es sich um ein Attribut handelt, das sich auf den Benutzer bezieht, wird es in user.rb beschrieben.

■belongs_to :user Ein Mikropost gehört nur einem Benutzer. Da es sich auf die Datenbank bezieht, wird es im Modell beschrieben. Da es sich um ein Posting handelt, wird es in micropost.rb beschrieben.

[Trainieren]

    1. Lassen Sie uns die Show-Seite des Benutzers bearbeiten, um den ersten Mikropost des Benutzers anzuzeigen. Versuchen Sie, die Grammatik aus dem anderen Code in derselben Datei zu erraten (die in Spalte 1.1 eingeführte Technologie kommt ins Spiel). Gehen wir zu / users / 1, um zu sehen, ob es gut aussieht.

Da dort "Seite anzeigen" und "Anzeige" angezeigt wird, handelt es sich um eine Ansicht in MVC. Wenn Sie nach dem Ansichtsordner suchen, finden Sie show.html.erb. Werfen wir also einen Blick hinein. Es gibt eine Beschreibung, dass der Name und die E-Mail angezeigt werden. Wenn Sie sie imitieren, ist dies also so.

ruby:show.html.erb


<p id="notice"><%= notice %></p>

<p>
  <strong>Name:</strong>
  <%= @user.name %>
</p>

<p>
  <strong>Email:</strong>
  <%= @user.email %>
</p>

<p>
  <strong>Inhalt:</strong>
  <%= @user.microposts.first.content %>
</p>

<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>

@user ist eine Instanzvariable. In user_controller.rb deklariert. Hier wird @user = User.find (params [: id]) angegeben. Rufen Sie den Beitragsinhalt mit Mikropost und den allerersten Beitrag mit zuerst auf. .inhalt ist unbekannt. Ist es nicht Magie?

  1. Listing 2.16 ist eine Validierung, die das Vorhandensein des Micropost-Inhalts bestätigt. Probieren wir es aus, um zu sehen, ob wir überprüfen können, ob der Mikropost nicht leer ist (es sieht so aus, als ob Abbildung 2.16 erfolgreich ist). Bitte beschreiben Sie es genau.

    1. Versuchen Sie, den Abschnitt FILL_IN in Listing 2.17 neu zu schreiben, um sicherzustellen, dass der Name des Benutzermodells und die E-Mail-Adresse vorhanden sind (Abbildung 2.17). → Das ist das Problem.

ruby:show.html.erb


class User < ApplicationRecord
  has_many :microposts
  validates name, presence: true    # 「FILL_Ersetzen Sie "IN" durch Code
  validates email, presence: true    # 「FILL_Ersetzen Sie "IN" durch Code
end

■ Vererbung Das Modell erbt vom Anwendungsdatensatz. Der Controller erbt von ApplicationController.

■ApplicationRecord、ApplicationController Es ist wie ein Paket, in dem verschiedene Dinge bereits definiert sind. Es ist unbekannt, was definiert ist. Jetzt als magische Sache interpretiert.

[Trainieren]

    1. Öffnen Sie die Anwendungscontroller-Datei und suchen Sie nach dem Code, den der Anwendungscontroller von ActionController :: Base erbt. → Der Code in der ersten Zeile.
  1. Wo befindet sich der Code, in dem ApplicationRecord ActiveRecord :: Base erbt? Versuchen Sie, ihn anhand der vorherigen Übung zu finden. Tipp: Es funktioniert im Wesentlichen genauso wie der Controller. Wenn Sie sich also die Dateien im Verzeichnis app / models ansehen ...?) → Es gibt eine Datei namens application_record.rb. Ich war mir dessen nicht bewusst, bis es mir gesagt wurde. Dies ist der Code oben hier.

Bitte spülen Sie den Rest.

Recommended Posts

Tutorial zum Kauen der Schienen [Kapitel 2 Spielzeuganwendung]
Schienen-Tutorial Kapitel 6
Schienen-Tutorial Kapitel 1
Schienen-Tutorial Kapitel 5
Schienen-Tutorial Kapitel 10
Schienen-Tutorial Kapitel 9
Schienen-Tutorial Kapitel 8
Rails Tutorial Kapitel 3 Lernen
Rails Tutorial Memorandum (Kapitel 3, 3.1)
Rails Tutorial Kapitel 4 Lernen
Rails Tutorial Kapitel 1 Lernen
Rails Tutorial Kapitel 2 Lernen
Kauen der Schienen Tutorial [Kapitel 3 Erstellen fast statischer Seiten]
[Rails Tutorial Kapitel 4] Ruby mit Rails-Geschmack
Kauen der Schienen Tutorial [Kapitel 1 Von Null bis Bereitstellung] Zweite Hälfte
Kauen der Schienen Tutorial [Kapitel 1 Von Null bis Bereitstellung] Erste Hälfte
Schienen Tutry
[Rails Tutorial Kapitel 5] Erstellen Sie ein Layout
Schienen Tutorial
Schienen Tutry
Deshalb habe ich dieses Mal die Methode "Verknüpfen des Inhalts des Verzeichnisses" übernommen. Ich denke, es wird je nach Zeit und Fall richtig verwendet. Tutorial zu Linux, ln, Linux-Befehlsschienen
Schienen Tutry
Schienen Tutorial
Schienen Tutorial
Rails Tutorial (4. Ausgabe) Memo Kapitel 6
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 10
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 7
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 4
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 9
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 6
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 5
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 2
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 3
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 8
Rails Tutorial Test
Rails Tutorial Memorandum 1
Rails Tutorial Memorandum 2
[Anfänger] Rails Tutorial
Beheben Sie Gem :: FilePermissionError, wenn Sie Gem Install Rails ausführen (Rails Tutorial Kapitel 1).
Kapitel 4 Rails Flavoured Ruby
Schienen Tutorial Cheet Sheet
[Rails] Lernen mit Rails Tutorial
Rails Tutorial 4. Ausgabe: Kapitel 1 Von Null bis Bereitstellung
Beheben Sie ActiveRecord :: NoDatabaseError, wenn Sie einen Rails-Test durchführen (Rails-Tutorial, Kapitel 3).
[Rails] Erstellen Sie eine Anwendung
Schienen Tutorial Fighting Record III
11.1 AccountActivations-Ressource: Rails Tutorial Memorandum-Kapitel 11