jquery - Ruby on Rails : Delete confirmation pop-up dialog displaying twice

标签 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. production.rb 中的 config.assets.debug 应该为 false (它是 false 但不起作用)
2. 不应该有public/assets目录(应用程序中没有这样的目录)
3. 在生产环境中运行 rake asset:clean(无影响)
4. 应从 application.js 中删除这两行:-
//= 需要jquery
//= 需要 jquery_ujs

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

据我所知,要么jquery加载了两次(但使用的javascript_include_tag不超过一个),要么“config.assets.compile”存在问题,这在生产中是正确的。rb

我也无法在我的本地和 Heroku 上检查它,因为它对两者都工作正常。

我的供应商/ Assets /javascripts 中的文件列表:-

  • bootstrap.js
  • bootstrap-datepicker.js
  • chai.js
  • jquery-cookie.js
  • mocha.js
  • moment.js
  • require.min.js
  • 文本.js
  • 下划线-amd.js

最佳答案

我在开发环境(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 消除了确认警报的双重触发,但我希望其他人发布更令人满意的解决方案。

关于jquery - Ruby on Rails : Delete confirmation pop-up dialog displaying twice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477927/

相关文章:

jquery - jqgrid不传递记录id进行编辑删除

javascript - Rails 在 Bootstrap 4 模态中执行 Javascript

jquery 星级评定在表中不起作用

jquery - 防止表单验证 CSS .error 突出显示文本框

javascript - 保持日期选择器粘在文本字段上

ruby-on-rails - Carrierwave 测试 - 清理或单独上传文件?

ruby-on-rails - 帮助: Adding rating to existing posts model in Rails

asp.net - 通过 jQuery 在 asp :LinkButton click event 上引发确认对话框

jquery-mobile - Jquery mobile,需要刷新页面才能看到CSS的变化

javascript - 防止在单击按钮时提交表单时重新加载页面