rails设计,没有路由匹配注销
虽然有很多类似的问题,但我已经搜索了几个小时,但仍无法修复它。
Env rails 3.0.9 ruby 1.9.2 devise 1.4.2
我使用以下命令更改了默认登录URL:
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' }
http:// localhost:3000 / login对我来说很好但是我包含了
= link_to 'sign_out', destroy_user_session_path, :method => :delete
在我的application.haml中,点击它之后,它说没有路由匹配“/ logout”为什么? 请帮我。
我有一个几乎相同的问题,并且由于SO很容易修复它( 链接到我的问题 )。 首先,确保您的布局文件“application.html.erb”中有<%= javascript_include_tag :defaults %>
。
然后,在你的config – > initializers – >“devise.rb”文件中确保它说:
config.sign_out_via = :delete
和你的“sign_out”代码destroy_user_session_path, :method => :delete
应该工作。
这个派对有点晚了,但是从另一个答案中得到了一些帮助
指定您的方法:
<%= link_to "sign out", destroy_user_session_path, method: :delete %>
设置config.sign_out_via = :get
in config/initializers/devise.rb
以使用以下代码进行注销链接。
<%= link_to "Sign Out", destroy_user_session_path %>