如果我在浏览器中输入 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 %>
它会起作用的。其他自定义路线也是如此。