0

语境

我有一个正在开发的 Rails 3 应用程序并安装了“jquery-rails”gem,并且

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

在我的 app/assets/javascripts/application.js 文件中。

如果警报和咖啡脚本是基本级别的项目,则它们可以正常工作。

我已将它们直接放入 app/assets/javascripts/application.js、app/assets/javascripts/pages.js尝试将其作为 app/assets/javascripts/pages.js.coffee 中的咖啡脚本版本(只是更改了文件姓名)

一旦我把它们放在类似的东西中:

$(document).ready(function(){
alert('works');
});

或(对于咖啡脚本)

jQuery ->
  alert "hi"

它根本不会着火。

我也尝试在应用程序布局中包含 jquery 文件,但同样的问题。

问题

在 rails 中声明 jQuery 函数有不同的语法吗?有谁知道可能出了什么问题?

任何帮助表示赞赏。谢谢!

4

4 回答 4

3

你拼错了函数:

// $(document).ready(funtion(){
$(document).ready(function(){
    alert('works');
});
于 2012-07-31T02:02:42.163 回答
0

正如 Speransky 提到的,我需要检查控制台日志,因为我手动添加了 Foundation 3 框架,所以它正在调用modernizr。它无法获得modernizr,因此以某种方式扼杀了我的jQuery能力。

我将modernizr.js 下载到app/assets/javascripts,然后将其添加到树之前:

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

做到了。

于 2012-07-31T15:32:43.953 回答
0

另一个常见错误:将 .coffee 更改为 .js 并忘记删除顶部评论。

于 2013-06-18T18:28:47.473 回答
0

我认为咖啡脚本不起作用,因为它应该在具有适当扩展名的文件中。

于 2012-07-31T02:05:07.030 回答