5

我在生產服務器中遇到問題。 這是另一個問題的重複,但所有的問題 - 答案不適合我。Ruby on Rails:刪除確認彈出對話框顯示兩次

我用「的link_to」標籤「刪除」方法: -

<%= link_to "Delete Campaign", campaign_path(campaign), :class => "btn btn-danger", :method => :delete, :confirm => 'Are you sure?'%> 

當我點擊「刪除廣告系列」鏈接,我得到確認彈出的兩倍。 這僅發生在客戶端的生產環境中。

使用Ruby 1.9.2和Rails 3.2.13。

在我的Gemfile,我用: -

gem 'jquery-rails' 

在我的application.js: -

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require bootstrap-timepicker 
//= require_tree ../../../vendor/assets/javascripts/ 

在我application.html.erb: -

<%= javascript_include_tag "application" %> 
<%= javascript_include_tag "http://code.jquery.com/ui/1.10.2/jquery-ui.js" %> 

當我搜索它時,我發現: -
1. config.assets.debug should b E在production.rb假(這是假的,但不工作)
2.不應該有公共/資產目錄(應用程序沒有這樣的目錄)
3.運行耙資產:清潔生產(無特效)
4.兩行應該從application.js中被刪除: -
// =需要的jQuery
// =需要jquery_ujs我,但除去這些行之後

最後一個工作,整個應用程序受到影響,所有jquery事件停止工作。

據我所知,無論是jQuery是加載兩次(但不超過一個javascript_include_tag使用)或存在「config.assets.compile」一個問題,就是在production.rb真正

我可以」不要在我的本地和heroku上檢查它,因爲它對兩者都很好。在我的供應商/資產/ Java腳本文件的

名單: -

  • bootstrap.js
  • 引導-datepicker.js
  • chai.js
  • jQuery的cookie.js
  • mocha.js
  • moment.js
  • require.min.js
  • text.js
  • 下劃線amd.js
+0

可否請你列出樹../../../vendor/assets/javascripts/的所有文件? – 2013-05-10 08:29:25

+0

@FernandoDiazGarrido:嗨,列表中添加編輯的問題,檢查以上 – RohitPorwal 2013-05-10 08:35:34

+0

只是一個建議,轉到jquery-ui網站,創建一個CUSTOM jquery-ui文件只有你要使用的庫,下載並添加它到您的資產。 Rails將把它放在application.js中,減少一個被加載的資源。 – 2013-05-10 11:11:53

回答

1

我遇到了一個開發環境(使用Rails 3.2.13)同樣的問題。我使用以下gem版本(來自Gemfile.lock):bootstrap-sass(2.3.1。0),sass-rails(3.2.6),jquery-rails(2.2.1)。在應用程序/資產/ Java腳本/ application.js中:

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require_tree 

在application.html.erb:

<%= javascript_include_tag "application" %> 

在我的ERB模板:

<%= button_to 'Delete', @card_type, method: :delete, form_class: 'destroy_button', 
data: { confirm: "Are you sure?" } %> 

看來,處理程序輸入[數據確認]被添加兩次,一次通過要求jquery_ujs,並且再次通過要求引導。我通過不需要jquery-ujs來消除了確認警報的雙重觸發,但我希望其他人發佈一個更令人滿意的解決方案。

1

我用Rails 4,沒有我發現答案SO工作對我來說,除了這一個...我改了行中application.html.erb:

<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

<%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>. 

https://github.com/rails/turbolinks/issues/244