为什么我收到未捕获的ReferenceError:$未定义

时间:2016-08-30 17:33:42

标签: javascript jquery ruby-on-rails

我有一个简单的显示页面,该文件顶部有haml代码:

:javascript
  $(document).ready(function() {
    alert('Come on work.....');
  });

当我加载页面时,我在控制台Uncaught ReferenceError: $ is not defined

中收到此错误

问题似乎与此问题相似(Uncaught $ error)。

我的application.js看起来像这样:

#= require jquery
#= require jquery_ujs
#= require jquery-ui
#= require underscore-min
#= require chosen.jquery.min
#= require app
#= require_tree .
#= require twitter/bootstrap
#= require d3.min
#= require highcharts/highstock
#= require highcharts/highcharts-more
#= require highcharts/solid-gauge
#= require tagcloud
#= require ace-element.min
#= require tipso.min

# Remove the following trigger when TurboLinks are re-enabled
  $(document).ready ->
    $(document).trigger 'page:change'

我可以使用一些帮助,以便我可以继续解决所有其他javascript文件正常工作,所以我不确定问题是什么。

UPDATE

我不确定我是否正确理解但我已经尝试将application.js中的文件重新排序到此处:

#= require_tree .
#= require jquery
#= require jquery_ujs
#= require jquery-ui

我收到一条新错误JQuery is not defined。我认为在application.js文件中有这个jquery会出现在各处。我在这里想念的是什么我是否需要在show.html.haml页面中包含实际文件?

2 个答案:

答案 0 :(得分:0)

正如@Pointy所说,需要在application.js

之前包含jQuery文件

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="application.js"></script>

答案 1 :(得分:0)

您必须在页面中包含jQuery引用

<script src="https://code.jquery.com/jquery-2.1.4.js"></script>