出现多个确认错误以进行销毁操作

时间:2015-03-02 09:48:02

标签: ruby-on-rails ruby twitter-bootstrap assets

我有一个正在运行的RoR(rails 4)项目。我遇到弹出问题。

我认为这与我的资产有关,但我不确定。我环顾四周,有些人说它可能是application.js文件中的需求顺序。其他搜索表示可能存在冲突的宝石/要求。

我有gem邮箱,每当我删除邮件时,它都会多次询问我。它询问我的次数可能在2-50次之间。点击“确定”之后好几次它最终会完成询问并执行动作。

如果我删除了:

data: { confirm: 'Are you sure?' } 

当然不会要求确认。

我一直有其他一些我认为都与之相关的问题。我的引导下拉菜单每10次点击只会下降一次。有时我必须在下拉列表实际丢失之前刷新我的网站几次。

这是我的gemfile:

ruby '2.1.5'
gem 'rails', '4.2.0'

gem 'bootstrap-sass'
gem 'bootstrap-will_paginate'
gem 'will_paginate' 
gem 'devise'
gem "mailboxer"

gem "simple_calendar"

gem 'chosen-rails'
gem 'sass-rails', '~> 4.0.5'
gem 'coffee-rails', '~> 4.1.0'

gem 'uglifier', '>= 1.3.0'
# This gem is required for mailboxer, but included w/ fullcalendar
# gem 'jquery-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc

group :development, :test do
      gem 'byebug'
      gem 'web-console', '~> 2.0'
        gem 'sqlite3'
      gem 'spring'
        gem 'railroady'
end

group :production do
     gem 'pg'
     gem 'rails_12factor'
end

的application.js

//= require bootstrap
//= require jquery.turbolinks
//= require chosen-jquery
//= require turbolinks
//= require messages
//= require_tree .

application.html.erb

<head>
    <div class="brand">Balern Education</div>
    <div class="address-bar">
        116-118 Lv Di Business Street | Bin Hai New Area, Tianjin | 1.860.226.8341
    </div>

  <title>Balern Edu.</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>

<html lang="en">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <link href="bootstrap.min.css" rel="stylesheet">
    <!-- Custom CSS -->
    <link href="business-casual.css.scss" rel="stylesheet">

    <!-- Fonts -->
    <link href="http://fonts.useso.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
    <link href="http://fonts.useso.com/css?family=Josefin+Slab:100,300,400,600,700,100italic,300italic,400italic,600italic,700italic" rel="stylesheet" type="text/css">
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

2 个答案:

答案 0 :(得分:0)

这是因为你使用了Turbolinks。

Turbolinks不会重新加载整个页面,它只会重新加载正文(以及其他一些东西)。因此,如果您的javascript位于正文中,则会多次加载,然后会要求您进行多次确认。

你可以通过将这条线从身体移动到头部来解决这个问题:

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

答案 1 :(得分:0)

我相信我修好了...... 我不再收到确认错误了。我没有移动任何行,但我更改了 application.html.erb 文件。我将行改为<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %><%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>

GitHub:data-confirm firing more than once #244