ブラウザに URL を入力するとルーティング エラーが発生しますが、その URL へのリンクをクリックすると機能します。なぜこのようになっているのですか?
devise_for :user, :skip => [:registrations, :sessions] do
get 'signup' => 'devise/registrations#new', :as => :new_user_registration
post 'signup/:invitation_token' => 'devise/registrations#create', :as => :user_registration
get 'signin' => 'devise/sessions#new', :as => :new_user_session
post 'signin' => 'devise/sessions#create', :as => :user_session
delete 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session
end
たとえば、ブラウザに localhost:3000/signout と入力すると、エラーが発生します。でもリンクがあれば
<%= link_to "Logout", destroy_user_session_path, :method => :delete %>
それが動作します。同じことが他のカスタマイズされたルートにも当てはまります。