0

我最近在我的 Ruby on Rails 应用程序中实现了以下 jQuery 脚本。它们都运行 jquery-rails 4.0.4。

    <script type="text/javascript">
      $(document).ready(function() {
        twitterCheck = setInterval(function() {
          if($('iframe[id^="twitter-widget-"]').length) {
            $('iframe[id^="twitter-widget-"]').each(function () {
              $(this).contents().find(".timeline").attr("style","max-width:100% !important;");
              $(this).attr("style","max-width:100% !important; width: 100% !important;");
            });
        clearInterval(twitterCheck);
          }
        }, 1000);
      });
    </script>

当我查看第一行 $(window) 上的页面源时,出现以下错误:

[Error] ReferenceError: Can’t find variable: $
global code (mywebsite.com, line 32)

我认为 jquery-rails gem 应该解决这个问题。我最终通过添加以下行来修复错误。

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

我决定在这里查看 jquery-rails 的文档。它说如果我想使用jQuery2将require语句更改为jquery2。我这样做了,但我仍然得到错误。

我想使用 jquery-rails gem,因为它已针对最新版本的 jQuery 和 jQuery2 进行了更新,而无需在application.html.erb.

更新时间:2015 年 7 月 24 日上午 9:30 CST

这是我对 jquery-rails 的 application.js 语句:

//= require jquery2
//= require jquery_ujs

我再次尝试并重新启动了我的服务器并再次部署了应用程序。我仍然得到 ReferenceError。

4

1 回答 1

0

假设您按照文档中的说明操作,要求 application.js 中的 jquery 像这样,

//= require jquery2
//= require jquery_ujs

如果您还没有这样做,我会尝试重新启动您的服务器。

更新

对于生产模式,请确保预编译资产。

RAILS_ENV=production bin/rake assets:precompile
于 2015-07-24T14:13:32.223 回答