Noob在这里使用Devise构建我的第一个Rails 4.0应用程序。使用标准的Devise战术设置我的控制器和路线。
Rake Routes显示:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
在我的导航中,我的代码是:
<%= link_to "Sign Out", destroy_user_session_path, method: :destroy, data: { confirm: 'Are you sure?' } %>
我正在运行Guard gem,因此我的服务器始终处于打开状态,因此我知道它与我的路由和服务器不匹配。我仍然收到以下错误:
没有路线匹配[POST]&#34; / users / sign_out&#34;
有什么建议吗?谢谢大家!
答案 0 :(得分:1)
您可能需要将method
(http动词)选项更改为delete
:
<%= link_to "Sign Out", destroy_user_session_path, method: :delete, data: { confirm: 'Are you sure?' } %>
答案 1 :(得分:0)
检入config / initializers / devise.rb并确保已设置:
config.sign_out_via = :delete
另外,在视图中我有这个并且工作得很好:
<%= link_to 'Logout', destroy_user_session_path, :method=>'delete' %>