路线无法在RoR中工作

时间:2012-03-16 17:52:41

标签: ruby-on-rails-3

ok我正在尝试使用嵌入式ruby调用DELETE HTTP命令。

我的代码是:

<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>

2 个答案:

答案 0 :(得分:1)

您正在尝试向只响应DELETE的路由发出GET请求。

为什么这不起作用?你可能没有使用这个包含application.js

<%= javascript_include_tag :application %>

这将包括为您的链接提供jquery.js功能的jquery_ujs.jsmethod: "delete"个文件。

答案 1 :(得分:1)

传递method: 'delete'的功能依赖于具有正常运行的UJS库​​。我要做的第一件事就是确保正确包含jqueryjquery_ujs个JavaScript文件。