我对此非常陌生,所以我正在尝试关注http://guides.rubyonrails.org/working_with_javascript_in_rails.html和http://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内联它确实有效
这是什么?我错过了什么?
答案 0 :(得分:0)
如评论中所述,coffee-script使用顶级函数包装器。如果手动编译文件,则可以使用--bare
命令行选项。
否则我会指出以下帖子:How can I use option "--bare" in Rails 3.1 for CoffeeScript?