[RUBY] Qu'est-ce que follow_redirect! Suivant?: Rails Tutorial Memorandum-Chapter 7

J'écris un test lors de la création d'une inscription utilisateur

/sample_app/test/integration/users_signup_test.rb


require 'test_helper'

class UsersSignupTest < ActionDispatch::IntegrationTest
.
.
.

  test "valid signup information" do
    get signup_path
    assert_difference 'User.count', 1 do
      post users_path, params: { user: { name:  "Example User",
                                         email: "[email protected]",
                                         password:              "password",
                                         password_confirmation: "password" } }
    end
    follow_redirect!
    assert_template 'users/show'
  end

Qu'est-ce que «follow_redirect!»!

Cette méthode examine le résultat de l'envoi d'une requête POST et se déplace vers la destination de redirection spécifiée. (Tutoriel Rails)

Je peux imaginer le comportement en quelque sorte

Ce que je ne comprends pas

Quelle est la destination de redirection spécifiée?

Vérification

Si vous exécutez le test tel quel rails test > Green

Si vous faites référence au comportement du contrôleur correspondant à post users_path

/sample_app/app/controllers/users_controller.rb


.
.
.
  def create
    @user = User.new(user_params)
    if @user.save
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end

Si vous le changez en redirect_to @ user> redirect_to root_path

rails test > Red

 FAIL["test_valid_signup_information", #<Minitest::Reporters::Suite:0x000055e3f2c61b10 @name="UsersSignupTest">, 1.4677946789997804]
 test_valid_signup_information#UsersSignupTest (1.47s)
        expecting <"users/show"> but rendering with <["static_pages/home", 
...

La destination de la redirection est "static_pages / home"

Conclusion

follow_redirect! est "Regardez le résultat de l'envoi d'une requête POST", Il semble donc suivre le comportement de redirection explicite dans le contrôleur correspondant

Recommended Posts

Qu'est-ce que follow_redirect! Suivant?: Rails Tutorial Memorandum-Chapter 7
Qu'est-ce que Rails Gem Concevoir?
Qu'est-ce que Rails Active Record?
rails tutry
tutoriel sur les rails
rails tutry
tutoriel sur les rails
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
rails tutry
tutoriel sur les rails
tutoriel sur les rails
[Rails] Qu'est-ce qu'un point (.) Ou un deux-points (:)?
Qu'est-ce que Cubby
Qu'est-ce qui est nul? ]
Qu'est-ce que Keycloak
Qu'est-ce que maven?
Qu'est-ce que Jackson?
Cloud 9 est à court de mémoire: mémorandum du tutoriel Rails
Qu'est-ce que soi
tutoriel rails Chapitre 1
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Mémorandum du didacticiel Rails 1
Qu'est-ce que IM-Juggling?
Tutoriel Rails Memorandum 2
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
tutoriel rails Chapitre 7
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
tutoriel rails Chapitre 5
Qu'est-ce que Gradle?
Qu'est-ce que POJO
tutoriel rails Chapitre 10
Qu'est-ce que 'java
Après tout, que fait [rails db: migrate]?
Qu'est-ce que centOS
tutoriel rails Chapitre 9
Qu'est-ce que RubyGem?
Qu'est-ce que before_action?
Qu'est-ce que Docker
tutoriel rails Chapitre 8
Qu'est-ce que Byte?
[Débutant] Tutoriel Rails
Qu'est-ce que Tomcat
[Rails] Quelle est la différence entre la redirection et le rendu?
Qu'est-ce que l'assemblage Maven?
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Qu'est-ce que vue cli
Qu'est-ce qu'une interface