[RUBY] [Rails] So erhalten Sie den Inhalt starker Parameter

Überblick

So schreiben Sie einen Prozess, um den Inhalt starker Parameter in Rails zu extrahieren

Situationen, die diese Methode verwenden

Bearbeitungsbildschirm ↓ Bildschirm zur Inhaltsbestätigung bearbeiten ↓ Abschlussbildschirm

Aus irgendeinem Grund im Bildschirmübergang Wenn Sie den Wert des starken Parameters auf dem Bestätigungsbildschirm zum Bearbeiten von Inhalten usw. anzeigen möchten.

Vorherige Kenntniss

Was sind starke Parameter? https://qiita.com/ozackiee/items/f100fd51f4839b3fdca8

Implementierungsbeispiel

Bearbeitungsbildschirm

Ruby:user_edit.html.erb


<!--Name und E-Mail werden vom Eingabeformular an den Bestätigungsbildschirm gesendet-->
<!--Dies ist eine Bearbeitung für einen erstellten Benutzer, und sein ID-Wert wird separat als URL-Parameter übergeben.-->
<%= form_with(model:@user, url: confirm_user_path) do |f| %>
<div class="field">
  <%= f.text_field :name, placeholder: "Geben Sie Ihren Benutzernamen ein!" %>
</div>
<div class="field">
  <%= f.text_field :email, placeholder: "e-Geben Sie Ihre Mailadresse ein!" %>
</div>
<div class="actions">
  <%= f.submit %>
</div>
<% end %>

Starke Parameter in der Steuerung

UsersController.php




//Definieren Sie starke Parameter
private
 def user_params
            params.require(:user).permit(:name, :email)
 end

Variablendefinition für die Anzeige des Bestätigungsbildschirms in der Steuerung

UsersController.php



def edit_confirm
    @user = User.find(params[:id])  #Rufen Sie Benutzerdaten mit der ID ab, die Sie aus dem URL-Parameter erhalten haben(Beispiel: Benutzer/3/edit_confirm)
    @user.name = user_params[:name] #Starkes Abrufen und Zuweisen von Parameterwerten zu Variablen
    @user.email = user_params[:email] #Das gleiche wie oben
end

Bestätigungsbildschirm

Ruby:edit_confirm.html.erb


    <h2>Bestätigung der bearbeiteten Inhalte</h2>
    <p>Vollständiger Name:<%= @user.name %>Herr.</p>
    <p>Mail Adresse:<%= @user.email %></p>

Warum ich diesen Artikel geschrieben habe

In Bezug auf das Erstellen eines "Bestätigungsbildschirms" in Qiita-Artikeln usw.

UsersController.erb


@user = User.new(user_params)

Und legen Sie es auf der Vorlagenseite fest

Ruby:edit_confirm.html.erb


    <h2>Bestätigung der bearbeiteten Inhalte</h2>
    <p>Vollständiger Name:<%= @user.name %>Herr.</p>
    <p>Mail Adresse:<%= @user.email %></p>

Aber in meinem Fall Weil ich eine bestimmte Validierung für die Erstellungsaktion festgelegt habe Als ich User.new ausführte, wurde es als Erstellungsaktion erkannt und es wurde ein Validierungsfehler angezeigt. Ich frage mich, ob starke Parameter verwendet werden können, um den Eingabeinhalt auf dem Bestätigungsbildschirm anzuzeigen, während er vermieden wird. Als ich es ausprobierte, konnte ich es mit der obigen Methode abrufen und einer Variablen zuweisen.

Ich bin froh, wenn Sie es als Referenz verwenden können.

Recommended Posts

[Rails] So erhalten Sie den Inhalt starker Parameter
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
So erhalten Sie den Inhalt von Map mithilfe des for-Anweisungsmemorandums
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
Wie komme ich zum heutigen Tag?
[Java] So erhalten Sie die URL der Übergangsquelle
[Java] So erhalten Sie den Maximalwert von HashMap
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Swift] So erhalten Sie die Firebase-Dokument-ID
[Schienen] Überprüfen Sie den Inhalt des Objekts
So erhalten Sie Parameter in Spark
[Schienen] Fügen Sie starke Parameter hinzu, um sie zu entwickeln
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
[Ruby] So rufen Sie den Inhalt des Doppel-Hash ab
[Rails] So zeigen Sie eine Liste der Beiträge nach Kategorie an
So ändern Sie den Inhalt der JAR-Datei, ohne sie zu dekomprimieren
[jsoup] So erhalten Sie die gesamte Dokumentation
[Schienen] Verwendung der Kartenmethode
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück
So bestimmen Sie die Anzahl der Parallelen
[Java] So erhalten Sie das aktuelle Verzeichnis
[Rails] So lassen Sie die Anzeige der Zeichenfolge der link_to-Methode weg
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
[Rails] Lesen Sie das RSS der Site und geben Sie den Inhalt an die Vorderseite zurück
So erhalten Sie das Datum mit Java
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
So ermitteln Sie die Länge einer Audiodatei mit Java
So dekorieren Sie CSS auf Rails6 form_with (Hilfs-) Optionsfeldern
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Für Rails-Anfänger] Zusammenfassung der Verwendung von RSpec (Überblick)
So machen Sie https zum Schema der URL, die vom URL-Helfer von Rails generiert wurde
[Rails] So lösen Sie die Zeitverzögerung von created_at nach der Speichermethode
[Rails] So bestimmen Sie das Ziel anhand von "Rails-Routen"
Schaltfläche [Schienen], um zum Anfang der Seite zurückzukehren
Ich möchte den Inhalt der Absicht var_dump
Ausgabe der Verwendung der Slice-Methode
Verwendung von JQuery in Rails 6 js.erb
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
[Java] So erhalten Sie die endgültige umgeleitete URL
[Rails] So geben Sie Erfolgs- und Fehlermeldungen aus
So überprüfen Sie Rails-Befehle im Terminal
Wie schreibe ich Rails
So deinstallieren Sie Rails
Schienen Starke Parameter
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
So erstellen Sie eine eindeutige Datenkombination in der Schienen-Zwischentabelle