[RUBY] [Rails] Comment obtenir le contenu des paramètres forts

Aperçu

Comment écrire un processus pour extraire le contenu de paramètres forts dans Rails

Situations qui utilisent cette méthode

Écran d'édition ↓ Modifier l'écran de confirmation du contenu ↓ Écran de fin

Pour une raison quelconque, dans la transition d'écran Lorsque vous souhaitez afficher la valeur du paramètre fort sur l'écran de confirmation de modification du contenu, etc.

Connaissance préalable

Quels sont les paramètres forts? https://qiita.com/ozackiee/items/f100fd51f4839b3fdca8

Exemple d'implémentation

Écran d'édition

Ruby:user_edit.html.erb


<!--le nom et l'e-mail sont soumis du formulaire de saisie à l'écran de confirmation-->
<!--Il s'agit d'une modification pour un utilisateur créé, et sa valeur d'ID doit être transmise séparément en tant que paramètre d'URL.-->
<%= form_with(model:@user, url: confirm_user_path) do |f| %>
<div class="field">
  <%= f.text_field :name, placeholder: "Entrez votre nom d'utilisateur!" %>
</div>
<div class="field">
  <%= f.text_field :email, placeholder: "e-Entrez votre adresse e-mail!" %>
</div>
<div class="actions">
  <%= f.submit %>
</div>
<% end %>

Paramètres forts dans le contrôleur

UsersController.php




//Définir des paramètres forts
private
 def user_params
            params.require(:user).permit(:name, :email)
 end

Définition variable pour l'affichage de l'écran de confirmation dans le contrôleur

UsersController.php



def edit_confirm
    @user = User.find(params[:id])  #Obtenir les données utilisateur avec l'ID obtenu à partir du paramètre URL(Exemple: utilisateurs/3/edit_confirm)
    @user.name = user_params[:name] #Récupération et affectation de valeurs de paramètres solides aux variables
    @user.email = user_params[:email] #Comme ci-dessus
end

écran de confirmation

Ruby:edit_confirm.html.erb


    <h2>Confirmation du contenu édité</h2>
    <p>Nom complet:<%= @user.name %>M.</p>
    <p>adresse mail:<%= @user.email %></p>

Pourquoi j'ai écrit cet article

Concernant la création d'un "écran de confirmation", dans les articles Qiita etc.

UsersController.erb


@user = User.new(user_params)

Et placez-le du côté du modèle

Ruby:edit_confirm.html.erb


    <h2>Confirmation du contenu édité</h2>
    <p>Nom complet:<%= @user.name %>M.</p>
    <p>adresse mail:<%= @user.email %></p>

Mais dans mon cas Parce que j'ai défini une certaine validation pour l'action de création Lorsque j'ai exécuté User.new, il a été reconnu comme une action de création et j'obtenais une erreur de validation. Je me demande si des paramètres forts peuvent être utilisés pour afficher le contenu d'entrée sur l'écran de confirmation tout en l'évitant. Quand je l'ai essayé, j'ai pu l'obtenir et l'assigner à une variable par la méthode ci-dessus.

Je suis heureux que vous puissiez l'utiliser comme référence.

Recommended Posts

[Rails] Comment obtenir le contenu des paramètres forts
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
Comment obtenir le contenu de la carte à l'aide du mémorandum d'instructions
Personnalisez la répartition du contenu de Recyclerview
Comment obtenir le jour d'aujourd'hui
[Java] Comment obtenir l'URL de la source de transition
[Java] Comment obtenir la valeur maximale de HashMap
[Android] Comment obtenir la langue de réglage du terminal
[Swift] Comment obtenir l'ID de document Firebase
[Rails] Vérifiez le contenu de l'objet
Comment obtenir des paramètres dans Spark
[Rails] Ajoutez des paramètres forts pour concevoir
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
[Ruby] Comment récupérer le contenu du double hachage
[Rails] Comment afficher une liste de messages par catégorie
Comment modifier le contenu du fichier jar sans décompresser
[jsoup] Comment obtenir la totalité de la documentation
[Rails] Comment utiliser la méthode de la carte
[Rails / Heroku / MySQL] Comment réinitialiser la base de données de l'application Rails sur Heroku
Comment déterminer le nombre de parallèles
[Java] Comment obtenir le répertoire actuel
[Rails] Comment omettre l'affichage de la chaîne de caractères de la méthode link_to
[Rails] Comment changer le titre de la page du navigateur pour chaque page
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
[Rails] Lire le RSS du site et renvoyer le contenu au premier plan
Comment obtenir la date avec Java
Comment vérifier le contenu de la chaîne de caractères java de longueur fixe
Comment obtenir la longueur d'un fichier audio avec Java
Comment décorer CSS sur les boutons radio de rails6 form_with (helper)
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Pour les débutants Rails] Résumé de l'utilisation de RSpec (obtenir un aperçu)
Comment faire de https le schéma de l'URL générée par l'assistant d'URL de Rails
[Rails] Comment résoudre le décalage temporel de created_at après la méthode de sauvegarde
[Rails] Comment décider de la destination par "voies ferrées"
Bouton [Rails] pour revenir en haut de la page
Je veux var_dump le contenu de l'intention
Sortie de la façon d'utiliser la méthode slice
Comment utiliser JQuery dans Rails 6 js.erb
Comment afficher le résultat du remplissage du formulaire
[Java] Comment obtenir l'URL redirigée finale
[Rails] Comment émettre des messages de réussite et d'erreur
Comment vérifier les commandes Rails dans le terminal
Comment écrire des rails
Comment désinstaller Rails
rails Paramètres forts
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
Comment créer une combinaison unique de données dans la table intermédiaire des rails