RoR不工作的路由

问题描述:

ok我正在尝试使用嵌入式ruby调用DELETE HTTP命令。RoR不工作的路由

所以我的代码是:

<li><%= link_to "Sign out", signout_path, method: "delete" %></li> 

在我的路线我

#Note the use of via: :delete for the signout route, which indicated that it should be invoked using an HTTP DELETE request 
    match '/signout', to: 'sessions#destroy', via: :delete 

,但我得到这个错误!

No route matches [GET] "/signout" 

我写“的方法:‘删除’!那么为什么它给我一个GET错误

家伙将你告诉我,其中的application.js打破我的js代码! ?这里是我的头代码:

</head> 

     <!-- Ruby Code --> 
     <%= stylesheet_link_tag "scaffold" %> 
     <%= stylesheet_link_tag "myCSS/home.css", :media => "all" %> 
     <%= stylesheet_link_tag "myCSS/JS_dropdown_menu.css", :media => "all" %> 
     <%= javascript_include_tag "myJS/jquery-1.7.js" %> 
     <%= javascript_include_tag "myJS/hoverIntent.js" %> 
     <%= javascript_include_tag "myJS/jquery.dropdown.js" %> 
     <%= javascript_include_tag "application.js" %> 

     <%= csrf_meta_tags %> 

    </head> 

您正在尝试做一个GET请求,只会回复删除路由

为什么不是这个工作,你可能还没有包含在产品?

<%= javascript_include_tag :application %> 

这包括jquery.jsjquery_ujs.js文件会为您提供链接method: "delete"功能:使用此uded application.js

+0

'方法:'delete''应该发送一个DELETE请求。 – Emily 2012-03-16 17:56:46

+0

我编辑我的问题,仍然有问题 – 2012-03-16 18:03:39

+0

包括jquery-1.7版本可能与application.js通常包含的版本冲突。请在application.js中显示代码。 – 2012-03-16 20:17:25

通过method: 'delete'的功能依赖于有一个功能UJS库。我会做的第一件事是确保jqueryjquery_ujs JavaScript文件被正确包含。

+0

我编辑了我的问题,仍然有问题 – 2012-03-16 18:04:16

+0

您需要jquery_ujs,而不是application.js – thiagofm 2012-03-16 19:06:18