Jquery 删除方法不使用';我不能在轨道上工作

Jquery 删除方法不使用';我不能在轨道上工作,jquery,ruby-on-rails,ruby-on-rails-3,actioncontroller,Jquery,Ruby On Rails,Ruby On Rails 3,Actioncontroller,我当前的代码如下所示: <%= javascript_include_tag "hchq.js", "bootstrap-image-gallery.js", "bootstrap-image-gallery.min.js", "load-image.min.js", "media.js", "jquery", "bootstrap.js", "jquery.dataTables.js", "DT_bootstrap.js" %> <%= javascript_inclu

我当前的代码如下所示:

 <%= javascript_include_tag "hchq.js", "bootstrap-image-gallery.js", "bootstrap-image-gallery.min.js", "load-image.min.js", "media.js", "jquery", "bootstrap.js", "jquery.dataTables.js", "DT_bootstrap.js" %>
  <%= javascript_include_tag :defaults %>
深入研究这个问题,我发现:这建议我把默认值列出来。我把它拿出来,404就消失了,但是有了它,有了它,我就不能发出删除请求。它只是引导我进入展示页面

你知道发生了什么,我如何解决这个问题,这样我就不会得到404,可以发出删除请求了吗

更新:

下面是实际的删除链接:
,它生成了以下html:
,我觉得这是对的

下面是日志中的一行:

Started GET "/clients/2" for 127.0.0.1 at 2012-09-27 16:50:23 -0500
Processing by ClientsController#show as HTML
  Parameters: {"id"=>"2"}
  Client Load (0.3ms)  SELECT "clients".* FROM "clients" WHERE "clients"."id" = ? LIMIT 1  [["id", "2"]]
  Rendered clients/show.html.erb within layouts/application (1.2ms)
Completed 200 OK in 47ms (Views: 45.4ms | ActiveRecord: 0.3ms)


Started GET "/assets/defaults.js" for 127.0.0.1 at 2012-09-27 16:50:23 -0500
Served asset /defaults.js - 404 Not Found (4ms)

我尝试过的另一件事是去掉默认行,因为它是rails 3.1之前的版本,并且使用“application”作为javascript包含标记中的唯一内容,我仍然有这个问题。

将Link改为Button来修复它


为什么?

将链接更改为按钮以修复它


为什么?

唯一合理的解释与CRSF令牌Rails表单有关,在服务器上出现非GET操作时除外。在rails中构建表单时,为了安全起见,您有一个传递到服务器的令牌。当您为和
form\u标签
助手使用
form\u标签时,这是自动内置的(表单使用帖子和其他内容)

由于
应用程序\u控制器中的
保护\u免受伪造
,rails不允许您从表单外部执行POST/DELETE/PUT操作,这就是为什么
链接到
不起作用的原因,它只是一个链接,试图执行POST操作。但是如果你评论这一行,链接就可以正常工作了


此处的更多信息:

唯一合理的解释与CRSF token Rails表单有关,当服务器上出现非GET操作时除外。在rails中构建表单时,为了安全起见,您有一个传递到服务器的令牌。当您为
form\u标签
助手使用
form\u标签时,这是自动内置的(表单使用帖子和其他内容)

由于
应用程序\u控制器中的
保护\u免受伪造
,rails不允许您从表单外部执行POST/DELETE/PUT操作,这就是为什么
链接到
不起作用的原因,它只是一个链接,试图执行POST操作。但是如果你评论这一行,链接就可以正常工作了


这里的更多信息:

您的删除链接只是一个链接,js magic将其转换为一个表单,然后发布。这就是为什么表单起作用,而链接没有起作用-它必须只是保持链接

至于为什么删除链接不起作用,您缺少js文件(因此是404),或者js中有错误。如果您正确地获得js包含,则该链接将由助手转换。在浏览器中检查js控制台并查找错误


您的链接正在向您发送一个get请求,因此显然内置的rails js无法转换该链接。

您的删除链接只是一个链接,js magic将其转换为表单,然后发布。这就是为什么表单起作用,而链接没有起作用-它必须只是保持链接

至于为什么删除链接不起作用,您缺少js文件(因此是404),或者js中有错误。如果您正确地获得js包含,则该链接将由助手转换。在浏览器中检查js控制台并查找错误


您的链接正在向您发送一个get请求,因此显然内置的rails js无法转换链接。

如果将
移动到另一个
javascript\u include\u标记的上方,会发生什么情况?@ScottJShea没有任何区别。请尝试使用符号,而不是字符串。@MurifoX这不起作用。它仍然只是重定向到显示页面。您的
路由中是否有
资源:客户机
。rb
?如果将
移动到另一个
javascript\u include\u标记
上方会发生什么?@ScottJShea没有任何区别。请尝试使用符号,而不是字符串。@MurifoX这不起作用。它仍然只是重定向到显示页面。您的
路由中是否有
资源:客户端
。rb
?我相信
按钮将链接包装在表单中。我现在就发布一个最详细的答案。我相信
button\u to
将链接包装在表单中。我现在就发布一个最详细的答案。
Started GET "/clients/2" for 127.0.0.1 at 2012-09-27 16:50:23 -0500
Processing by ClientsController#show as HTML
  Parameters: {"id"=>"2"}
  Client Load (0.3ms)  SELECT "clients".* FROM "clients" WHERE "clients"."id" = ? LIMIT 1  [["id", "2"]]
  Rendered clients/show.html.erb within layouts/application (1.2ms)
Completed 200 OK in 47ms (Views: 45.4ms | ActiveRecord: 0.3ms)


Started GET "/assets/defaults.js" for 127.0.0.1 at 2012-09-27 16:50:23 -0500
Served asset /defaults.js - 404 Not Found (4ms)