我有一个Rails 4.2.0应用程序已经运行了好几个月了。Rails 4.2.0应用程序:删除链接javascript停止工作
该应用程序在各个地方使用“删除”作为方法和确认提示link_to标记。这些工作正常,警报弹出,在删除之前确认,请求按照预期路由到控制器中的销毁操作。
今天一个应用程序用户问我为什么删除链接不起作用。没有显示确认提醒,并且生成的请求是一个简单的GET,它被路由到show动作而不是销毁。虽然我的用户不会经常删除,但我确信他们原本是在工作。
删除链接不再适用于开发环境或现场环境。在加载包含链接的页面或单击删除链接时,浏览器控制台中没有javascript错误。 Chrome,Firefox和Safari的行为相同。
神秘的部分是,我一直在做主要的代码和数据库变化几个月;我记不起最后一次添加gem或运行包安装或更新。显然,必须改变以打破JavaScript,但我想不出它会是什么。
到目前为止,我已经删除了rails jQuery并链接到Google API中的一个。我已经移除了Turbolinks。我已将v.4.0.3中的jquery-rails gem更新为4.2.1。没有运气。
如果任何人都可以提出一些测试或看看,这里是从我的配置和代码的一些摘录(恢复上述尝试失败后):
Gemfile.lock的:
jquery-rails (4.0.3)
jquery-turbolinks (2.1.0)
jquery-ui-rails (5.0.3)
应用的.js:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require jquery-ui/datepicker
//= require jquery-ui/autocomplete
//= require_tree .
应用/视图/布局/ application.html.erb,在标签内:
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
删除链接的标签是这样的:
<%= link_to 'Delete', item_order_path(@item, order), method: :delete, data: { confirm: 'Are you sure?' }, class: :button %>
在他们看起来像这样渲染HTML:
<a data-confirm="Are you sure?" class="button" rel="nofollow" data-method="delete" href="/items/1/orders/1">Delete</a>
什么可以去上的任何想法?
你正在使用哪个操作系统?如果是Windows,请尝试gem'coffee-script-source','1.8.0' –
我正在Mac OS X 10.11(开发,使用WEBrick服务器)或CentOS 7(生产,使用Apache和Passenger的Phusion)。 – EK0