[RUBY] Utilisez redirect_to et effectuez un rendu correctement

Aperçu

Si vous utilisez scaffold dans Rails, l'action de création ressemble à ceci: Lorsque l'enregistrement est réussi, redirect_to est utilisé, et lorsque la transition de page échoue, render est utilisé. J'expliquerai cette différence.

user_cocntroller.rb


def create
    @user = User.new(user_params)

    respond_to do |format|
      if @user.save
        format.html { redirect_to @user, notice: 'User was successfully created.' }
        format.json { render :show, status: :created, location: @user }
      else
        format.html { render :new }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

Conclusion

redirect_to exécute une requête HTTP. render affiche juste la vue (= l'URL ne change pas)

Lorsque vous souhaitez utiliser redirect_to

Lorsque la mise à jour des données est réussie, une requête HTTP est exécutée pour passer à une autre page. Ce faisant, les mêmes données ne seront pas enregistrées lors du rechargement.

Lorsque vous souhaitez utiliser le rendu

Si l'enregistrement échoue, affichez simplement la vue avec un message d'erreur. Évitez d'augmenter inutilement les demandes. Puisque les données n'ont pas été enregistrées, il n'y a pas de problème même si elles sont rechargées.

Recommended Posts

Utilisez redirect_to et effectuez un rendu correctement
Critères pour utiliser correctement render et redirect_to
Utilisation correcte de Mockito et PowerMock
Utilisation correcte de l'interface et de la classe abstraite
Différence entre redirect_to et render
Différence entre redirect_to et render
Différence entre render et redirect_to
Différence entre render et redirect_to
[rails] Différence entre redirect_to et render
[Java8] Utilisation appropriée de Compareable et Comparator du point de vue du tri des employés
[Rails] Différence entre redirect_to et render [Débutant]
Les rails rendent redirect_to
(Déterminez en 1 minute) Comment utiliser vide?, Vide? Et présent?
Utilisez-vous l'instruction for après tout? Utilisez-vous l'instruction while? Utilisation correcte des instructions for et while
Utilisation de la classe Date
Utilisation de polices japonaises et de caractères étrangers dans Jasper Report
[Rails] Afficher le message d'erreur - Différence entre render et redirect_to, flash-
Jusqu'à l'utilisation de Spring Data et JPA Part 2
Jusqu'à l'utilisation de Spring Data et JPA Part 1
Utilisation correcte de la classe abstraite et de l'interface en Java
Traitement de la date et de l'heure en Ruby. Utilisez correctement la date et l'heure.
[Rails] Différentes différences entre redirect_to et méthode de rendu et méthode de sortie de la méthode de rendu
Configuration de JMeter et jEnv
Contexte et mécanisme de Fabric-loader
Résumé de FileInputStream et BufferedInputStream
Combinaison de recherche et each_with_index
Jugement de JSONArray et JSONObject
Utilisez un filtre et une carte rapides
Utilisez @ValueSource de ParametrisedTest de JUnit5
Opérateur résiduel et puissance (冪 puissance)
Avantages et inconvénients de Java
[Docker-compose] Comment utiliser des volumes de volumes non nommés et nommés. Lier la monture
[Rails] Pourquoi est-il rendu si la sauvegarde réussit et que redirect_to échoue?