我可以在CoffeeScript文件中使用普通的JavaScript吗?

时间:2012-11-07 18:58:48

标签: javascript ruby-on-rails coffeescript

我正在尝试在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'(in   /家庭/ gotqn /集锦   项目/贮库/应用程序/资产/ Javascript角/ carts.js.coffee)

源指向

  

显示/ home / gotqn / Aptana   项目/仓库/ app / views / layouts / application.html.erb,其中第6行   提出:

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

<%= javascript_include_tag "application" %>

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

1 个答案:

答案 0 :(得分:26)

来自coffeescript.org上的文档:

  

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

是的,您可以在CoffeeScript中使用JavaScript - just surround it in backticks

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

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

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

不过,建议您只是将代码转换为CoffeeScript,这是非常明智的。