17

我正在尝试在我的 Ruby on Rails 应用程序中添加一些 JavaScript 代码。我已经为我的资产中的每个视图创建了一些 js.coffee 文件。因为,我不熟悉 CoffeeScript,所以我只是在文件中传递了一些普通的 JavaScript/jQuery 行,例如:

if ($('#cart').length == 1) { $('#cart').hide("blind", {direction: "vertical" }, 1000); }

$('#cart tr').not('.total_line').remove();

但引发了以下错误:

错误:第 1 行的解析错误:意外的“POST_IF”(在 /home/gotqn/Aptana Projects/depot/app/assets/javascripts/carts.js.coffee 中)

来源指向

显示 /home/gotqn/Aptana Projects/depot/app/views/layouts/application.html.erb 其中第 6 行提出:

在第 6 行的这个文件中,我得到:

<%= javascript_include_tag "application" %>

我是 Ruby on Rails 的新手,但我想正在发生的事情是我无法在 CoffeeScript 中编写简单的 JavaScript。如果这是真的,我可以只删除 .coffe 扩展名并确保 Rails 魔法能够工作并加载文件吗?

4

1 回答 1

27

来自coffeescript.org上的文档:

希望您永远不需要使用它,但是如果您需要在 CoffeeScript 中散布 JavaScript 片段,您可以使用反引号直接传递它。

所以是的,你可以在 CoffeeScript 中使用 JavaScript -只需用反引号括起来

`function greet(name) {
return "Hello "+name;
}`

# Back to CoffeeScript
greet "Coffee"
# => "Hello Coffee"

hello = `function (name) {
return "Hello "+name
}`
hello "Coffee"
# => "Hello Coffee"

不过,强烈建议您将代码转换为 CoffeeScript。

于 2012-11-07T19:05:21.800 回答