【问题标题】:I'm getting an odd jQuery ReferenceError in my Ruby on Rails 4.2 Application using gem jquery-rails我在我的 Ruby on Rails 4.2 应用程序中使用 gem jquery-rails 得到一个奇怪的 jQuery ReferenceError
【发布时间】:2015-07-24 13:59:27
【问题描述】:

我最近在我的 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 here 的文档。它说如果我想使用jQuery2将require语句更改为jquery2。我这样做了,但我仍然收到错误。

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

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

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

//= require jquery2
//= require jquery_ujs

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

【问题讨论】:

  • 这是生产模式还是开发模式的问题?

标签: javascript jquery ruby-on-rails passenger jquery-rails


【解决方案1】:

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

//= require jquery2
//= require jquery_ujs

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

更新

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

RAILS_ENV=production bin/rake assets:precompile

【讨论】:

  • 更新了我的答案,如果有帮助请告诉我。
  • 在写我的问题之前,我已经完成了 RAILS_ENV=production rake assets:precompile。我做了你的命令,得到了同样的错误。
  • 我唯一能想到的另一件事是,在页面上加载其余 javascript 之前,您的脚本正在运行。是否有理由将 javascript 放在脚本标签中而不是常规资产中?
  • 老实说我没想到,亚伦。我将其移至资产。没有错误。
  • 我很少使用 JavaScript。当我有的时候,我只是把代码扔进了我的 HTML 代码中。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 2015-11-11
相关资源
最近更新 更多