Кажется, мой маршрут rspec для: controller => 'phones',: action => 'edit' работает ... это должно быть «телефоны/123/edit» и IS в соответствии с rspec-тестами и рейк-маршрутами. Но когда я создаю ожидание redirect_to, ожидание терпит неудачу.Rspec redirect_to маршруты терпят неудачу (или неверно?), Как получилось?
Вот тест маршруты для URL:
it "maps #edit" do
route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
end #THIS TEST PASSES
Вот ожидание того, что не удается:
put :update, :id => "1", :phone => {}
response.should redirect_to :controller => 'phones', :action => 'edit'
И это сообщение я получаю в тестах:
expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!
Что за шизницы?
Достаточно близко ... Я artually закончил тем, что использовать mock_phone.id вроде этого: response.should redirect_to: контроллер => '', телефоны: действие => 'Правка' ,: id => wock_phone.id Спасибо, Пелл! Кстати, я где-нибудь видел тебя? У меня такое чувство, что я видел вас на Github или других форумах. – btelles