[RUBY] Was ist follow_redirect! Folgendes ?: Rails Tutorial Memorandum-Kapitel 7

Ich schreibe einen Test beim Erstellen einer Benutzerregistrierung

/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

Was ist follow_redirect!!

Diese Methode überprüft das Ergebnis des Sendens einer POST-Anforderung und wechselt zum angegebenen Umleitungsziel. (Rails Tutorial)

Ich kann mir das Verhalten irgendwie vorstellen

Was ich nicht verstehe

Was ist das angegebene Umleitungsziel?

Überprüfung

Wenn Sie den Test so ausführen, wie er ist rails test > Green

Wenn Sie sich auf das Verhalten des Controllers beziehen, das "post users_path" entspricht

/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

Wenn Sie es in "redirect_to @ user"> "redirect_to root_path" ändern

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", 
...

Das Umleitungsziel ist "static_pages / home".

Fazit

follow_redirect! Is "Sehen Sie sich das Ergebnis des Sendens einer POST-Anfrage an", Es scheint also dem expliziten Umleitungsverhalten im entsprechenden Controller zu folgen

Recommended Posts

Was ist follow_redirect! Folgendes ?: Rails Tutorial Memorandum-Kapitel 7
Was ist Rails Gem Devise?
Was ist Rails Active Record?
Schienen Tutry
Schienen Tutorial
Schienen Tutry
Deshalb habe ich dieses Mal die Methode "Verknüpfen des Inhalts des Verzeichnisses" übernommen. Ich denke, es wird je nach Zeit und Fall richtig verwendet. Tutorial zu Linux, ln, Linux-Befehlsschienen
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Schienen Tutry
Schienen Tutorial
Schienen Tutorial
[Rails] Was ist ein Punkt (.) Oder ein Doppelpunkt (:)?
Was ist Cubby?
Was ist null? ]]
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Cloud 9 hat nicht genügend Speicher: Rails-Tutorial-Memorandum
Was ist Selbst
Schienen-Tutorial Kapitel 1
Was ist Jenkins?
Was ist ArgumentMatcher?
Rails Tutorial Memorandum 1
Was ist IM-Jonglieren?
Rails Tutorial Memorandum 2
Was ist params
Was ist SLF4J?
Schienen-Tutorial Kapitel 7
Was ist Fassade? ??
Was ist Java <>?
Schienen-Tutorial Kapitel 5
Was ist Gradle?
Was ist POJO?
Schienen-Tutorial Kapitel 10
Was ist java
Was macht [Rails DB: Migrieren]?
Was ist centOS?
Schienen-Tutorial Kapitel 9
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Schienen-Tutorial Kapitel 8
Was ist Byte?
[Anfänger] Rails Tutorial
Was ist Tomcat?
[Rails] Was ist der Unterschied zwischen Redirect und Rendering?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist ein Konstruktor?
Was ist vue cli
Was ist eine Schnittstelle?