我有一個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