Ruby on rails 没有与注销路径匹配的路由

Ruby on rails 没有与注销路径匹配的路由,ruby-on-rails,ruby,Ruby On Rails,Ruby,我陷入了一种奇怪的境地。我在SO论坛上看到了很多答案,但都没有解决我的问题。我正在开发一个RubyonRails应用程序。我已成功创建注册并登录。但我的注销不起作用。 这是我对“注销应用程序”标题的看法 <div class="header"> <%= image_tag "header.png", :class => "headerimg" %> <% unless current_user.blank? %> <div

我陷入了一种奇怪的境地。我在SO论坛上看到了很多答案,但都没有解决我的问题。我正在开发一个RubyonRails应用程序。我已成功创建注册并登录。但我的注销不起作用。 这是我对“注销应用程序”标题的看法

<div class="header">
    <%= image_tag "header.png", :class => "headerimg" %>
    <% unless current_user.blank? %>
    <div id="menu_container" >
        <ul class="sf-menu" id="nav" >
            <li style="margin-left:10%">
               <%= link_to current_user.First_Name, {} %>    
            </li>
            <li>
               <%= link_to "notif", {} %>
            </li>
            <li id="logout" style="margin-left:55%;">
               <%= link_to "Log out", signout_path, method: "delete"  %>
            </li>
        </ul>
    </div>
    <% end %>
</div>
我的注销会话助手是

def sign_out        
    cookies.delete(:remember_token)
    self.current_user = nil
end
我的rake路由的结果是:

Helper     HTTP Verb       Path     Controller#Action
Path / Url          
users_path      GET     /users(.:format)    users#index
                POST    /users(.:format)    users#create
new_user_path   GET     /users/new(.:format)    users#new
edit_user_path  GET     /users/:id/edit(.:format)   users#edit
user_path       GET     /users/:id(.:format)    users#show
                PATCH   /users/:id(.:format)    users#update
                PUT     /users/:id(.:format)    users#update
                DELETE  /users/:id(.:format)    users#destroy
sessions_path   POST    /sessions(.:format)     sessions#create
new_session_path    GET     /sessions/new(.:format)     sessions#new
session_path    DELETE  /sessions/:id(.:format)     sessions#destroy
root_path   GET     /   static_pages#home
signup_path     GET     /signup(.:format)   users#new
signin_path     GET     /signin(.:format)   sessions#new
signout_path    DELETE  /signout(.:format)  sessions#destroy
default_path    GET     /default(.:format)  static_pages#default 
我不知道我做错了什么。我追随迈克尔·哈特尔。 请给我指一下正确的方向

谢谢

编辑 这是我得到的错误

No route matches [GET] "/signout"
以下是错误的完整跟踪

actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.0.2) lib/rails/engine.rb:511:in `call'
railties (4.0.2) lib/rails/application.rb:97:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

您的
链接到
写得正确,但您可以看到它执行了一个
GET
请求。由于方法
DELETE
是使用javascript强制执行的,很可能您没有包含
application.js
,或者您的javascript中有错误,无法正确解析

因此,请确保在应用程序布局中(
views/layouts/application.html.erb



或者在浏览器javascript控制台中检查错误。

您忘记了包含错误回溯。编辑并确保Java脚本正常工作。确保应用程序中包含了
/=require jquery\u ujs
。js@IshankGupta我已经添加了您在application.js中突出显示的上述行file@MarekLipka我在错误页面上有框架跟踪和完整跟踪。我可以发布这些痕迹吗??对于编辑部分,我添加了这些行“true%>”,从错误中可以清楚地看出,
[GET]“/signout”
正在尝试获取注销请求而不是删除。因此,您的问题在于jquery.ujs文件,请检查其加载是否正常。
actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.0.2) lib/rails/engine.rb:511:in `call'
railties (4.0.2) lib/rails/application.rb:97:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
<%= javascript_include_tag "application" %>