Rspec redirect_to Routen scheitern Erwartungen (oder misparsed?), Wie kommt das?
-
11-09-2019 - |
Frage
Es scheint, meine rspec Route für: Controller => 'Telefone',: action => 'Bearbeiten' funktioniert ... soll es Telefone / 123 / bearbeitet 'sein und ist nach rspec Tests und Rechen Routen. Aber wenn ich eine redirect_to Erwartung schaffen, schlägt die Erwartung.
Hier ist der Routen-Test für die url:
it "maps #edit" do
route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
end #THIS TEST PASSES
Hier ist die Erwartung, dass fehlschlägt:
put :update, :id => "1", :phone => {}
response.should redirect_to :controller => 'phones', :action => 'edit'
Und das ist die Botschaft, die ich in den Tests erhalten:
expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!
Was die schiznits?
Lösung
Der Grund dafür ist, andernfalls ist, dass Sie die ID in Ihrer Erwartung fehlen. Es sollte sein:
response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow