Ruby on rails Rails错误-未定义的局部变量或方法'signout_path';

Ruby on rails Rails错误-未定义的局部变量或方法'signout_path';,ruby-on-rails,Ruby On Rails,错误来自app/views/layouts/_header.html.erb。该行是我的app/views/layouts/_header.html.erb的一部分,如下所示: <header class="navbar navbar-fixed-top navbar-inverse"> <div class="navbar-inner"> <div class="container"> <%= link_to "sample a

错误来自app/views/layouts/_header.html.erb。该行是我的app/views/layouts/_header.html.erb的一部分,如下所示:

<header class="navbar navbar-fixed-top navbar-inverse">
  <div class="navbar-inner">
    <div class="container">
      <%= link_to "sample app", root_path, id: "logo" %>
      <nav>
        <ul class="nav pull-right">


       <li><%= link_to "Home", root_path %></li>
          <li><%= link_to "Help", help_path %></li>
          <% if signed_in? %>
            <li><%= link_to "Users", '#' %></li>
            <li id="fat-menu" class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                Account <b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><%= link_to "Profile", current_user %></li>
                <li><%= link_to "Settings", '#' %></li>
                <li class="divider"></li>
                <li>
                  <%= link_to "Sign out", signout_path, method: "delete" %>
                </li>
              </ul>
            </li>
          <% else %>
            <li><%= link_to "Sign in", signin_path %></li> 
         <% end %>        
        </ul>  
      </nav>
    </div>
  </div>
</header>


好的,现在已经很晚了,我不会等待您输出rake routes或routes.rb文件。 正如我在评论中提到的,进入shell,将cd放入应用程序目录并运行

rake routes
这将显示所有可能的路线。很可能已经有了退出流程的路线

如果没有,则必须在/config/routes.rb中创建路由,并将其定向到正确的控制器。比如说

delete '/logout', to: 'sessions#destroy', as: 'signout'
其中“delete”是请求,/logout“我的示例url”,“sessions”是控制器,“destroy”是操作,“signout”是方法名(如代码所示)。 你可以直接写

delete '/logout', to: 'sessions#destroy'
在这种情况下,您必须将方法名
signout\u path
替换为url


最后一个提示:注销也可以通过GET而不是DELETE完成。也许您只使用GET方法创建了一个路由?在
rake routes
的输出中也应该很明显

在shell中运行rake routes,查看路由的命名方式。可以将routes.rb文件放入其中吗?