[RUBY] [Rails] Über die Hilfsmethode form_with [Basic]

Ich habe während des Studiums nicht viel verstanden, daher möchte ich es während der Ausgabe organisieren. Ich werde sorgfältig von den Grundlagen schreiben. Wenn Sie darauf hinweisen, bitte.

Was ist eine Hilfsmethode?

Erstens verfügt Rails über eine Methode, mit der HTML-Tags in der Ansicht angezeigt und Text im Voraus verarbeitet werden können. Diese werden als Hilfsmethoden bezeichnet. form_with ist eine Art Hilfsmethode.

Über form_with

Dies ist eine Hilfsmethode für die Formularimplementierung, die seit der Version mit dem Namen Rails 5.1 empfohlen wurde. form_tag / form_for scheint veraltet zu sein. (Die Erklärung dieser beiden Methoden wird weggelassen.)

.erb


<!-- form_Beispiel mit Tag-->
<%= form_tag('/posts', method: :post) do %>
  <input type="text" name="content">
  <input type="submit" value="Post">
<% end %>

.erb


<!--form_Beispiel mit-->
<%= form_with model: @post, local: true do |form| %>
  <%= form.text_field :content %>
  <%= form.submit 'Post' %>
<% end %>

Das Merkmal von form_with ist (1) Der Pfad wird automatisch ausgewählt und die HTTP-Methode muss nicht angegeben werden. (2) Eine Instanz des Modells, die ActiveRecord erbt, das vom Controller übergeben wurde, kann verwendet werden (@post entspricht dem oben genannten).

In diesem Fall, ① Für neue Beiträge ② Wenn Sie einen vorhandenen Beitrag anrufen Die Verarbeitung ändert sich mit.

① Für neue Beiträge

posts_controller.rb


def new
  @post = Post.new
end

Klicken Sie auf die Schaltfläche "Post" und sie wird an die Aktion "Erstellen" gesendet.

new.html.erb


<%= form_with model: @post, class: :form, local: true do |form| %>
  <%= form.text_field :title, placeholder: :Titel, class: :form__title %>
  <%= form.text_area :content, placeholder: :Blog Körper, class: :form__text %>
  <%= form.submit 'Post', class: :form__btn %>
<% end %>

② Wenn Sie einen vorhandenen Beitrag anrufen

posts_controller.rb


def edit
  @post = Post.find(params[:id])
end

edit.html.erb


<%= form_with model: @post, class: :form, local: true do |form| %>
  <%= form.text_field :title, placeholder: :Titel, class: :form__title %>
  <%= form.text_area :content, placeholder: :Blog Körper, class: :form__text %>
  <%= form.submit 'Post', class: :form__btn %>
<% end %>

Klicken Sie auf die Schaltfläche "Posten" und es wird an die Aktualisierungsaktion gesendet.

Zusammenfassung

Im Vergleich dazu sind die Formteile von new.html.erb und edit.html.erb identisch! !! !! Daher kann das Formteil zu einer Teilvorlage gemacht werden und der Umfang der Beschreibung kann reduziert werden. Es wird automatisch festgestellt, ob das Modell @post Inhalt hat, und es wird an Sie gesendet.

Außerdem Sie können mehrere Modelle übergeben, z. B. form_with model: [@ ￰post, @ ￰comment]. Ich denke, ich sollte es in einem anderen Artikel schreiben ...

Recommended Posts

[Rails] Über die Hilfsmethode form_with [Basic]
Verstehen Sie die Hilfsmethode form_with
Über Rails Scraping-Methode Mechanisieren
Berücksichtigung des Routings von form_with helper method
[Ruby on Rails] Praktische Hilfsmethode
Schienenmethode
[Rails] Über local: true, beschrieben in form_with
[Rails] Verwendung der Hilfsmethode, Confimartion
Informationen zum Rails-Routing
Schienen delegieren Methode
Über die Methode
[Servlet] Grundlegende Methode
[Rails] Über ActiveJob!
Schienen Grundphilosophie
Über Rails Controller
Ausgabe über die Methode, Teil 2
Über Android grundlegende Grammatik
[Schienen 6] Über die wichtigsten Edelsteine
[Rails] Über aktiven Hash
[Rails] So verwenden Sie die Hilfsmethode von devise before_action: authenticate_user!
Informationen zur Versionsspezifikation für Schienen
Informationen zur Bindung von Java-Methoden
Informationen zu Aufteilungsmethoden (Java)
Über die Längenmethode
[Rails] entwickeln eine Einführungsmethode
Über die Kartenmethode
Über redirect_to in form_with
Über die Ahnenmethode
Informationen zum Formular. ○○ von form_with
[Java] Grundlegende Methodenhinweise
[Schienen] Standardwerte festlegen
[Rails] Vollständig verstanden form_with
Informationen zur to_s-Methode.
Schienen Starke Parameter
[Anfänger] Über Rails Session
Ausgabe über die Methode Teil 1
[Schienen] erfordern Methode und Genehmigungsmethode
Informationen zum Benennen von Rails-Modellmethoden
[Java Silver] Über gleich Methode
[Rails] Informationen zur Struktur des scss-Ordners
Rails Asset Pipeline-Basisschlüssel
[Rails] Informationen zum Rspec-Antworttest
Überlegungen zur Zeitmethode
Bedingte Verzweigung mit Hilfsmethode
Ruby on Rails Grundlegendes Memorandum