引导警报解雇不起作用,rails 3.2

bob*_*eno 9 javascript twitter-bootstrap

使用带有Rails 3.2的twitter bootstrap 2.0(资产/样式表中的css文件,现在不使用less或sass)

我在屏幕顶部有一个bootstrap样式的错误或成功警报(基于消息的第一个字是否="错误".我已经将'bootstrap.js'和'bootstrap-alert.js'添加到资产/ javascript文件夹.

这是我布局中的代码:

<% flash.each do |name, msg| %>
  <% if msg[0..4] == "Error" %>
    <div class="alert alert-error fade in">
  <% else %>
    <div class="alert alert-success fade in">
  <% end %>
  <a class="close" data-dismiss="alert" href="#">&times;</a>
  <%= msg %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在我的assets/javascripts/application.js中,我有:

$(".alert-message").alert()
$(".alert-message").alert('close')
Run Code Online (Sandbox Code Playgroud)

不确定我需要两者吗?尝试使用.alert/.alert-error.

当我点击关闭符号时没有任何反应,我确定我错过了一些非常明显的东西,但我不熟悉使用JS/w Rails,无法解决这个问题.在Chrome JS控制台中,我看到此错误消息,该消息似乎与bootstrap-alert.js data-api有关:

Uncaught TypeError: Object [object Object] has no method 'on'

非常感谢任何提示!

Dof*_*ofs 16

我有同样的问题,看着你的答案bobomoreno,但它没有奏效.我后来发现最新版本的Bootstrap需要jQuery 1.7.x,并且不适用于旧版本的jQuery.

  • 谢谢!给我省了很多麻烦和时间:D (2认同)

jma*_*zek 6

我有同样的问题 - 提醒解雇对我不起作用.解决方案类似于bobomoreno的,但不一样.我有一个app/assets/javascripts/bootstrap.js.coffee带有一些自定义内容的文件,这需要代替bootstrap的javascripts.我通过更改名称来修复它bootstrap-custom.js.coffee,因此正确需要bootstrap的文件.


bob*_*eno 4

正如评论中所述,问题似乎是由竞争的 Javascript 文件引起的。

该问题是由 Javascripts 文件夹中的“jquery.js”和“jquery-ui.js”引起的,必须具有冲突的名称/类。

删除 jQuery 文件后,加载页面时 js 错误消失,警报解除现在可以正常工作