Though there're lots of similar questions, i've searched for it for hours but still can not fix it.
Env rails 3.0.9 ruby 1.9.2 devise 1.4.2
I changed the default login url using:
5 resources :users
6 devise_for :users, :path => "", :path_names => { :sign_in => 'login', :sign_out
=> 'logout', :password => 'secret', :confirmation => 'verification', :unlock =>
'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
And the http://localhost:3000/login works fine for me But I include
= link_to 'sign_out', destroy_user_session_path, :method => :delete
in my application.haml, after i click it, it says that no route matchs "/logout" Why? Please help me.
I had a nearly identical problem and thanks to SO fixed it quite easily (link to my question). First, make sure you have <%= javascript_include_tag :defaults %>
in your layout file "application.html.erb."
Then, in your config -> initializers -> "devise.rb" file make sure it says:
config.sign_out_via = :delete
and your "sign_out" code destroy_user_session_path, :method => :delete
should work.