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 に答える