Когда я использую redirect_to 'index'
в моем контроллере, я получаю следующую ошибку. -на Ruby 1.8.7 и Rails 3.1.1-
Started GET "/presentations/1" for 127.0.0.1 at Tue Nov 15 01:48:42 +0200 2011
Processing by PresentationsController#show as HTML
Parameters: {"id"=>"1"}
Redirected to http://localhost:3000index
Completed 302 Found in 2ms
[2011-11-15 01:48:42] ERROR URI::InvalidURIError: the scheme http does not accept registry part: localhost:3000index (or bad hostname?)
А вот как это выглядит в маршрутах.rb
..
get 'about_us' => 'presentations#index', :as => 'about_us'
..
resources :presentations
Очевидно, он пытается перенаправить на http://localhost:3000index вместо http://localhost:3000/presentations/index, но я не мог понять почему. Если я использую redirect_to presentations_path
или redirect_to :controller => 'presentations', :action => 'index'
, все работает нормально, но почему это происходит? Я думал, что смогу использовать redirect_to
без определения какого-либо параметра контроллера, если он ссылается на тот же контроллер с существующей настройкой, или я ошибаюсь?