【问题标题】:Rails 3.1, jQuery UI does not loadRails 3.1,jQuery UI 不加载
【发布时间】:2012-01-08 00:36:33
【问题描述】:

我使用的是 Rails 3.1,但 jQueryUI 库有问题。这是我的application.js 文件:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
// Loads all Bootstrap javascripts
//= require bootstrap
//= require rails.validations

//= require_tree .

它将“jquery ui”文件加载到浏览器中,但无论我使用什么与它相关,它都会显示此错误:

TypeError: Object function (a,b){return new d.fn.init(a,b,g)} has no method 'dialog'

【问题讨论】:

    标签: jquery ruby-on-rails ruby jquery-ui


    【解决方案1】:

    我遇到了同样的问题,application.js 看起来像这样:

    //= require jquery
    //= require jquery_ujs
    //= require jquery-ui
    

    在开发模式下,/assets/application.js 似乎包含了一个与 ujs 捆绑在一起的 jQuery 版本,当添加到页面时,它是这样的:

    <script src="jquery"></script>
    <script src="jquery_ujs"></script>
    <script src="jquery-ui"></script>
    <script src="application.js"></script>
    

    最后一个文件覆盖了前三个文件。我说:

    //= require_self
    //= require jquery-ui
    

    而且效果很好。

    有趣的是,application.js 只包含 require 行,没有 jQuery 或 ujs。

    【讨论】:

    • 不确定我为什么/如何/何时删除require_self,但将其添加回顶部解决了我的问题。谢谢!
    【解决方案2】:

    您可能在较早的时候预编译了您的资产。 尝试删除public/assets 下的所有内容。

    【讨论】:

      【解决方案3】:

      经过数小时的努力,我终于从application.js 中删除了//= require jquery-ui,并添加了新的jQuery UI 文件,现在一切正常。我的新资产文件是:

      //= require jquery
      //= require jquery/jquery-ui
      //= require jquery_ujs
      // Loads all Bootstrap javascripts
      //= require bootstrap
      //= require rails.validations
      
      //= require_tree .
      

      jquery 是我的javascripts 文件夹中的一个子文件夹。

      【讨论】:

        猜你喜欢
        • 2011-09-02
        • 2012-01-15
        • 2011-08-28
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        • 1970-01-01
        • 2011-09-08
        • 2013-12-12
        相关资源
        最近更新 更多