Ruby on Rails:删除显示两次的确认弹出对话框

时间:2013-05-10 08:22:17

标签: jquery ruby-on-rails jquery-plugins ruby-on-rails-3.2 production-environment

我在生产服务器中遇到问题。 这是另一个问题的重复,但所有问题 - 答案对我来说都不起作用。

我对'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在production.rb中应为false(这是假的但不起作用)
 2.应该没有公共/资产目录(应用程序中没有这样的目录)
 3.运行耙资产:清洁生产(无影响)
 4.应从application.js中删除这两行: -
 // =需要jquery
 // =需要jquery_ujs

最后一个为我工作,但在删除这些行后,整个应用程序受到影响,所有jquery事件都停止工作。

根据我的知识,jquery加载了两次(但是使用的javascript_include_tag不超过一个)或者“config.assets.compile”中存在问题,这在production.rb中是正确的。

我无法在本地和heroku上查看它,因为它对两者都有效。

我的vendor / assets / javascripts中的文件列表: -

  • bootstrap.js
  • 自举-datepicker.js
  • chai.js
  • 的jquery-cookie.js
  • mocha.js
  • moment.js
  • require.min.js
  • text.js
  • 下划线-amd.js

2 个答案:

答案 0 :(得分:1)

我在开发环境中遇到了同样的问题(使用Rails 3.2.13)。我正在使用以下gem版本(来自Gemfile.lock):bootstrap-sass(2.3.1.0),sass-rails(3.2.6),jquery-rails(2.2.1)。在app / assets / javascripts / 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?" } %>  

看来输入[data-confirm]的处理程序被添加两次,一次需要jquery_ujs,再次需要bootstrap。我通过不要求jquery-ujs消除了确认警报的双重触发,但我希望其他人发布更满意的解决方案。

答案 1 :(得分: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