【问题标题】:Bootstrap popover not working Rails引导弹出窗口不起作用 Rails
【发布时间】:2013-03-25 07:25:00
【问题描述】:

我无法让我的引导弹出框在我的 rails 应用程序中正常工作。我尝试了其他问题的解决方案,但没有成功。

目前在我的 HTML 中我有:

<i class="icon-exclamation-sign" id="info" rel="popover" data-content="some info"></i>

<script>  
$(function () {
  $(".icon-exclamation-sign").popover();  
});  
</script>

我的 application.js 看起来像:

//= require jquery
//= require jquery_ujs
//= require bootstrap-datepicker
//= require_tree .
//= require bootstrap-tooltip
//= require bootstrap-popover

我的 application.css 看起来像:

/*
*= require_tree .
*= require bootstrap-datepicker
*/

我收到错误:加载页面时未捕获的 TypeError: Object [object Object] has no method 'popover'。我做错了什么?

编辑:我也试过在我的 application.js 中使用 require bootstrap 而不是 tooltip 和 popover,但没有运气。

【问题讨论】:

  • 脚本是在DOM完全加载后运行的吗?
  • 我刚刚尝试准备好文档,但没有成功。

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


【解决方案1】:

尝试将代码放在/app/assets/javascripts/ 下,看看它是否有任何改变。

/javascripts/some_name.js

$(document).ready(function() {
  $(".icon-exclamation-sign").popover();
});

其实我觉得问题是//= require_tree .应该是最后一个,试试下面的:

//= require jquery
//= require jquery_ujs
//= require bootstrap-datepicker
//= require bootstrap-tooltip
//= require bootstrap-popover
//= require_tree .

application.css 也一样

【讨论】:

  • 即使您更改了要求顺序?你重启服务器了吗?
  • 是的,是的。我制作了 /javascripts/iconpopover.js,更改了要求顺序并重新启动了我的服务器。还是一样的错误。
【解决方案2】:

按照here 的建议,我终于找到了问题所在。

我必须将这一行添加到我的 development.rb 文件中:

config.serve_static_assets = false

【讨论】:

    【解决方案3】:

    试试rake assets:clean 命令。这应该会删除所有未采纳您的更改的旧版 JS/CSS。

    对于大多数浏览器,您可以查看页面的源代码以检查它正在使用的资产文件的版本,查看您的更改是否在其中被提取,如果没有,这可能会起作用。

    【讨论】:

    • 运行 rake assets:clean 没有运气。页面源显示正确的资产文件。
    猜你喜欢
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2012-12-05
    • 2013-05-22
    • 2015-07-17
    • 1970-01-01
    相关资源
    最近更新 更多