【问题标题】:Ruby on Rails - Uncaught ReferenceError: $ is not definedRuby on Rails - 未捕获的 ReferenceError:$ 未定义
【发布时间】:2013-09-30 23:33:58
【问题描述】:

我使用的是 Rails 3.2.13,我从 git repo 克隆了一个项目。 CSS 样式运行良好。但是整个 javascript 插件都没有加载。在控制台中,我收到一些 Javascript 错误,如下所示,

Uncaught SyntaxError: Unexpected token ILLEGAL
Uncaught ReferenceError: $ is not defined
Uncaught ReferenceError: $ is not defined
Uncaught ReferenceError: jQuery is not defined

在 application.js 中,

//= require jquery
//= require jquery_ujs
//= require_tree .

即使在预编译后也无法正常工作。 请帮我解决这个问题。

【问题讨论】:

  • 你包括jQuery吗?
  • 是的......此外,它是我克隆的工作项目。只有在我的本地系统中它不起作用。在 gem 列表中,我找到了 jquery-rails (3.0.4, 1.0.19)
  • 通常,此错误消息表示您的项目中没有包含 jQuery
  • 对不起...我没听懂你。请简要告诉我。
  • 可能这不是 jquery 问题。第一个错误Uncaught SyntaxError: Unexpected token ILLEGAL 阻止加载jquery,因此下一个错误是第一个错误的结果。你能识别出第一个错误引用的代码部分吗?

标签: javascript jquery ruby-on-rails git assets


【解决方案1】:

更新:在我的一台机器上遇到了这个问题。

不确定问题的确切根本原因是什么,但这是解决此问题的一种方法。

  1. 请确保已安装以下 gem。

    gem 安装链轮

  2. 运行以下命令

    rake 资产:预编译

要了解有关资产管道的更多信息,请参阅http://asciicasts.com/episodes/279-understanding-the-asset-pipeline

希望这会有所帮助。

【讨论】:

  • 您好,请尝试让我知道结果。
  • 嗨,我已经通过在环境文件中添加 config.assets.debug = true 解决了这个问题。谢谢你的回答。
  • @ShruthiRamesh 它必须是development.rb
  • @ShruthiR 这对我有用,但很高兴知道为什么。细节赞赏。
【解决方案2】:

在我的 mac 上升级到 mavericks 后,我在 rails 3.2.1 遇到了这个确切的问题。经过研究,我将 rails 更新到 3.2.18 解决了这个问题。显然,某些版本的 sprockets 在资产管道方面存在问题。在https://github.com/sstephenson/sprockets/issues/352查看更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2023-01-23
    • 2014-05-21
    • 2019-11-05
    相关资源
    最近更新 更多