在rails页面上用我的ruby正确设置咖啡脚本

时间:2014-04-17 01:58:37

标签: javascript ruby-on-rails-4 coffeescript

我正在查看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函数正常工作。

它具有奇怪的效果,只需将背景颜色切换一秒钟,然后将其恢复为透明背景。

如果您需要更多信息,我可以提供我的文件的其他内容。

1 个答案:

答案 0 :(得分:2)

  1. 通过将gem 'coffee-rails'附加到Gemfile
  2. 来添加CoffeScript Rails集成gem
  3. 运行bundle
  4. 安装依赖项
  5. application.js

    中需要您的脚本
    //= require pages
    
  6. 不要使用onclick,在JS代码中设置click事件处理程序:

    paintIt = -> #....
    
    $ ->
      $('a').click -> paintIt(@, '#990000')