ruby-on-rails – 没有路由匹配“/ users/sign_out”devise rails 3

我已经安装devise在我的应用程序,并应用以下在我的application.html.erb文件:

<div id="user_nav">
    <% if user_signed_in? %>
        Signed in as <%= current_user.email %>. This cannot be cheese?
        <%= link_to 'Sign out', destroy_user_session_path %>
    <% else %>
        <%= link_to 'Register', new_user_registration_path %> or <%= link_to 'Sign in', new_user_session_path %>
    <% end %>
</div>

我跑了耙路线,并确认所有的路线都有效。

此外,在我的routes.rb文件我有devise_for:用户和根:to => “home#index”。

点击“退出”链接时出现以下路由错误:

No route matches "/users/sign_out"

任何想法是什么导致错误?

最佳答案
我认为退出的路由是一个DELETE方法。这意味着您的退出链接需要如下所示:

<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>

您的不包括:method => :删除零件。此外,请注意,要使其正常工作,您还必须包含在您的布局文件(application.html.erb)。

转载注明原文:ruby-on-rails – 没有路由匹配“/ users/sign_out”devise rails 3 - 代码日志