使用带有Rails 3.2的twitter bootstrap 2.0(资产/样式表中的css文件,现在不使用less或sass)
我的屏幕顶部有一个bootstrap样式的错误或成功警报(根据消息的第一个字是否=“错误”。 我添加了'bootstrap.js'和& 'bootstrap-alert.js'到assets / 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="#">×</a>
<%= msg %>
<% end %>
在我的assets / javascripts / application.js中,我有:
$(".alert-message").alert()
$(".alert-message").alert('close')
不确定我需要两者吗?尝试使用.alert / .alert-error。
当我点击关闭符号时没有任何反应,我确定我错过了一些非常明显的东西,但我不熟悉使用JS / w Rails,无法解决这个问题。 在Chrome JS控制台中,我看到此错误消息,其中似乎是关于bootstrap-alert.js data-api:
Uncaught TypeError: Object [object Object] has no method 'on'
非常感谢任何提示!
答案 0 :(得分:16)
我有同样的问题,看着你的答案bobomoreno,但它没有用。我后来发现最新版本的Bootstrap需要jQuery 1.7.x,并且不适用于旧版本的jQuery。
答案 1 :(得分:6)
我有同样的问题 - 提醒解雇对我不起作用。解决方案类似于bobomoreno的,但不一样。我有一个文件app/assets/javascripts/bootstrap.js.coffee
有一些自定义的东西,这是必需的而不是bootstrap的javascripts。我通过将名称更改为bootstrap-custom.js.coffee
来修复它,因此正确需要bootstrap的文件。
答案 2 :(得分:4)
正如评论中所述,问题似乎是由竞争的Javascript文件引起的。
问题是由Javascripts文件夹中的'jquery.js'和'jquery-ui.js'引起的,必须有冲突的名字/类。
删除jQuery文件后,加载页面时js错误消失,现在警报解雇工作