Dla kodu poniżej, co się stanie, jeśli zastąpienie przekierowania_do renderem lub wersetem wiersza?Czy polecenie redirect_to i render są wymienialne?
def create
@product = Product.new(params[:product])
respond_to do |format|
if @product.save
format.html { redirect_to(@product, :notice => 'Product was successfully created.') }
else
format.html { render :action => "new" }
end
end
end
Wygląda na to, że zastąpienie jednego z drugim w powyższym kodzie. Czy istnieje miejsce, w którym należy użyć tylko redirect_to lub render? Render nie robi nic poza renderowaniem widoku. Redirect_to wysyła 302 żądania do serwera, a bieżące parametry są tracone po przekierowaniu.
Dzięki.
Dzięki. To jest dokładne wyjaśnienie. – user938363
Nie sądzę, że widziałem bardziej doskonałe wyjaśnienie, szczególnie na zakończenie, DLACZEGO jest to ważne z praktycznymi różnicami w użyciu na końcu. – ahnbizcad
Uwaga: odświeżanie to * nie * to samo, co naciśnięcie klawisza Enter w pasku adresu URL.Naciśnięcie klawisza Enter w pasku adresu URL powoduje wysłanie żądania GET do tego adresu URL. Odświeżanie powoduje ponowne przesłanie ostatniego żądania (które przeglądarka śledzi). –