我正在查看how to use javascript in ROR.的基本指南 我熟悉javascipt(和jquery)但不熟悉咖啡脚本。
该指南非常简单。我只是错过了我应该放置咖啡脚本的地方。
我正在尝试制作
paintIt = (element, backgroundColor, textColor) ->
element.style.backgroundColor = backgroundColor
if textColor?
element.style.color = textColor
功能工作。
我放置
<a href="#" onclick="paintIt(this, '#990000')">Paint it red</a>
在我的分隔符中。我的\ assets \ javascripts \ pages.js.coffee中的代码(虽然我尝试在application.js中添加基本的javascript) 然后我运行服务器,当我点击链接时没有任何反应。
我假设我需要编译咖啡脚本并可能将其链接到页面但我不知道如何做到这一点。该指南没有说明它,我不知道该寻找什么使我的脚本工作
我想正确设置咖啡脚本,以便它可以在我的页面中工作(我不知道是否可以将所有功能全局化,但我假设不是这样)
我按照评论中的建议,使用window.paintIt =
使其全局化,使paintIt函数正常工作。
它具有奇怪的效果,只需将背景颜色切换一秒钟,然后将其恢复为透明背景。
如果您需要更多信息,我可以提供我的文件的其他内容。
答案 0 :(得分:2)
gem 'coffee-rails'
附加到Gemfile
bundle
在application.js
//= require pages
不要使用onclick,在JS代码中设置click事件处理程序:
paintIt = -> #....
$ ->
$('a').click -> paintIt(@, '#990000')