【发布时间】:2012-04-03 12:24:26
【问题描述】:
我在我的 Rails 3.2 应用程序中包含了带有 <%= javascript_include_tag "application" %> 的 Javascript。而且,我在运行时包含在最终 application.js 文件中的 company.js.coffee 文件中包含了以下 CoffeeScript:
$("article h2 a").click (e) ->
$("article div").hide()
$(@hash).slideToggle()
e.preventDefault()
$("article div:not(#1)").hide()
然而,该脚本根本不起作用,尽管它在从中复制的原始 HTML 文件中运行(尽管不是在 CoffeeScript 中)。同样,AJAX 表单请求似乎也不起作用。
有谁知道为什么会发生这种情况?我有什么遗漏吗?
【问题讨论】:
-
您的开发控制台有任何错误吗?尝试在那里发出警报(“是的,它正在工作”)。
-
我只知道您可以在其中运行传统的 rails 命令。但是,我尝试从字面上添加一个 JS 警报,它抛出了一个无方法错误。这是你的意思吗?抱歉,我是一名 PHP 程序员,对 Rails(尤其是 3.2)比较陌生。
-
抱歉让您感到困惑,我的意思是在您的 CofeeScript 文件中 :-)
-
问题也可能是您在运行脚本之前没有等待加载文档。您可以尝试将其包装在 $(document).ready( -> ... 或将包含 javascript 文件的内容移到页面末尾(就在
标签: jquery ruby-on-rails ruby-on-rails-3 coffeescript