【发布时间】:2015-02-18 00:03:37
【问题描述】:
我正在遵循 Rails 指南的第一步http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#unobtrusive-javascript
index.html.erb 看起来像
<a href="#" onclick="paintIt(this, '#990000')">Paint it red</a>
<a href="#" onclick="paintIt(this, '#009900', '#FFFFFF')">Paint it green</a>
<a href="#" onclick="paintIt(this, '#000099', '#FFFFFF')">Paint it blue</a>
我在 app/assets/javascripts/welcome.js.coffee 下添加了 coffeescript
paintIt = (element, backgroundColor, textColor) ->
element.style.backgroundColor = backgroundColor
if textColor?
element.style.color = textColor
我收到此错误:
Uncaught ReferenceError: paintIt is not defined
我尝试将paintIt 更改为@paintIt 和window.paintIt 无济于事。我有一个临时修复,只是在 app/assets/javascripts/applications.js 中使用普通的旧 javascript,但我想开始使用 coffeescript。有什么建议吗?
【问题讨论】:
-
您需要将
paintIt添加到全局命名空间。有关如何操作的详细说明,请参见此处:stackoverflow.com/questions/4214731/…。 -
完美!这解决了问题。
标签: javascript html ruby-on-rails coffeescript