为什么我的coffeescript功能没有被执行?

时间:2013-09-04 13:53:18

标签: javascript ruby-on-rails coffeescript

我对此非常陌生,所以我正在尝试关注http://guides.rubyonrails.org/working_with_javascript_in_rails.htmlhttp://guides.rubyonrails.org/asset_pipeline.html Rails指南 (我正在使用Rails 4)

所以在views / myController中我有

<a href="#" onclick="paintIt(this, '#990000')">Paint it red</a>

在app / assets / javascripts / myController.js.coffee中,paintIt函数

paintIt = (element, backgroundColor, textColor) ->
  element.style.backgroundColor = backgroundColor
  if textColor?
   element.style.color = textColor

在app / assets / javascripts / application.js中我有指令:

//= require_tree .

所以myController.js.coffee中的coffeescript应该编译

在views / layouts / application中我有

javascript_include_tag "application"

我还检查了coffee-rails gem是否在gemfile中并已安装。

然而,在我看来,我看到“Paint it red”链接,但未触发coffeescript功能。 (没有任何反应)

另外检查一下,如果我写javascript内联它确实有效

这是什么?我错过了什么?

1 个答案:

答案 0 :(得分:0)

如评论中所述,coffee-script使用顶级函数包装器。如果手动编译文件,则可以使用--bare命令行选项。

否则我会指出以下帖子:How can I use option "--bare" in Rails 3.1 for CoffeeScript?