另一个令人沮丧的未被捕获的引用错误:$未定义

时间:2013-03-08 21:17:19

标签: jquery ruby-on-rails

我在grade_picker.js中有最简单的功能

$ ->  
$('#grade_cbl_eval_category_id').change ->
  selected = $(this).attr 'value'
  alert(selected)
  return false 

产量:

(function() {
  $(function() {
     **Uncaught ReferenceError: $ is not defined**
  return $('#grade_cbl_eval_category_id').change(function() {
    var selected;
    selected = $(this).attr('value');
    alert(selected);
    return false;
    });
  });
}).call(this);

在application.js中我有

$(function() {
$("#grade_picker_dialog").dialog({
    autoOpen: false,
    resizable: false,
    width: 810,
    modal: true,
    button: {
        "Done": function() {
            $(this).dialog("close");
        }
    }
});
});

在Grades类中,我有一个名为 cbl_eval_category_id 的属性。

我已经阅读了很多其他类似的帖子,但是我正在追随一个新手,我很少关注 在rails-root下查看这些文件:

smiralph@smiralph] find . -exec grep -l "jquery" {} \; 
./.bundle/config
./app/assets/javascripts/jquery-ui-1.9.2.custom.min.js
./app/assets/javascripts/jquery-1.8.3.min.js
./app/assets/javascripts/jquery.dataTables.min.js
./app/assets/javascripts/rails.js

在.bundle / config里面我有:

---  
BUNDLE_PATH: jquery-rails  
BUNDLE_DISABLE_SHARED_GEMS: "1"  

我在哪里可以开始寻找错误?

由于


修改/ ADDITION:
应该补充说,几乎相同的代码在其他地方工作。 (与我之前在这个简单的例子之前所拥有的相同。)


CLOSURE 谢谢大家,在你的帮助下,我让它工作正常。

2 个答案:

答案 0 :(得分:2)

您对jQuery的引用是在您引用grade_picker.js之后,或者您的页面上没有加载jQuery库。

答案 1 :(得分:2)

在添加任何其他依赖js文件(如

)之前尝试添加jquery
./app/assets/javascripts/jquery-1.8.3.min.js
./app/assets/javascripts/jquery-ui-1.9.2.custom.min.js
./app/assets/javascripts/jquery.dataTables.min.js
./app/assets/javascripts/rails.js