Also innerhalb der response_to blockiert die bedingte if stockUpdated and stock != {}
schlägt fehl und der else
Block läuft (Ich habe dies mit byebug getestet). Also sollte der Server umleiten, aber stattdessen rendert es. Eine andere seltsame Sache ist, dass seit der Wiedergabe der flash.now[:alert] -'...'
funktionieren sollte, aber das auch nicht in der Ansicht angezeigt wird (nimm mein Wort dafür).Warum Rails 4 meine Sicht rendern, wenn ich redirect_to in einem response_to Block verwende
Controller:
respond_to do |format|
if stockUpdated and stock != {}
format.js
format.html {
redirect_to user_path(@user),
notice: "#{stock.symbol} has been added to your portfolio!"
}
else
flash.now[:alert] = "We could not add that stock to your portfolio."
format.html{redirect_to user_path(@user)}
end
end
Server:
Started GET "https://stackoverflow.com/users/1" for ::1 at 2017-01-13 11:48:21 -0500
Processing by UsersController#show as HTML
Parameters: {"id"=>"1"}
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]]
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]]
Stock Load (0.5ms) SELECT "stocks".* FROM "stocks" INNER JOIN "assets" ON "stocks"."id" = "assets"."stock_id" WHERE "assets"."user_id" = $1 [["user_id", 1]]
Rendered stocks/_stock.html.erb (0.5ms)
Rendered users/show.html.erb within layouts/application (13.7ms)
Completed 200 OK in 92ms (Views: 81.6ms | ActiveRecord: 2.0ms)
Nur um zu klären: 'user_path (@user)' ist '/ Benutzer/1? Wenn ja, zeigt Ihr Serverprotokoll diese Route an (die umgeleitete Route). – mrlew