【问题标题】:How do I import JavaScript files in Rails 3?如何在 Rails 3 中导入 JavaScript 文件?
【发布时间】:2013-03-27 08:24:07
【问题描述】:

我刚刚开始使用 Ruby on Rails,但在从 HTML 调用 JavaScript 函数时遇到了一些困难。我正在使用 Rails 3.2.13、Ruby 1.9.3 和 RubyMine 5.0.2。

我在“app/assets/javascripts/”中有一个名为“home.js.coffee”的 CoffeeScript 文件,该文件显然编译为同一文件夹中的“application.js”。在“app/views/home/”中,我有主页“index.html.erb”的 HTML 文件。我在“home.js.coffee”中有一个名为cubes()的函数:

cubes = alert math.cube 3

目前这是非常基本的。我想先舒服点。

这是一个名为math的对象:

math =
    cube: (x) -> x* square x

我在index.html.erb 中创建了一个理论上应该调用此函数的按钮:

<button onclick="cubes()">Try it</button>

问题是让它找到 JavaScript 文件。 index.html 的头脑中需要什么? application.html 的头部需要什么?

【问题讨论】:

    标签: ruby-on-rails ruby coffeescript


    【解决方案1】:

    问题是该函数在另一个范围内。如果您使用 -b 选项编译 CoffeeScript,这将使函数全局可用,但简单的解决方案是:

    root = exports ? this
    root.cubes = -> alert math.cube 3
    

    然后您可以从您的 HTML 中调用 cubes()

    【讨论】:

    • 甚至可以使用任何其他 js 库,如原型,但这甚至不是问题,建议应该是问题,而不是答案
    猜你喜欢
    • 2011-10-05
    • 2012-10-27
    • 2022-06-21
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    相关资源
    最近更新 更多