1

Haml ビューから JavaScript にデータを渡そうとしています。私のウェルカムコントローラーには index メソッドがあります。私の index.html.haml ビュー ファイルには、以下があります。

:javascript
  window.putalert = "#{ "Data" }";

私のwelcome.js.coffeeには次のものがあります:

jQuery ->
        alert putalert

ただし、上記は機能しません。Uncaught ReferenceError: putalert is not defined を取得しています。

これを解決する方法について何か提案はありますか?

クロムデバッグのエラーメッセージは

(function() {

  jQuery(function() {
    return alert(putalert);
Uncaught ReferenceError: putalert is not defined
  });

}).call(this);
4

2 に答える 2

3

:javascript haml タグを使用して JavaScript を挿入できます。#{} で Ruby を挿入できます。次のようなことを試してください:

:javascript
  window.putalert = "#{ "Data" }";

必要に応じて、ビューに coffeescript を挿入することもできます (これには傾斜を使用する必要があります)。

:coffee
  @putalert = "#{ "Data" }"

ここで、haml フィルターのリファレンス: http://haml.info/docs/yardoc/file.REFERENCE.html

于 2013-02-22T16:04:22.980 に答える
0

一般的に JavaScript のデータを処理するための非常に優れた方法の 1 つは、HTML タグで data 属性を使用することです。次に、jQuery のようなものを使用して、その情報を引き出すことができます。jsに注入するよりも少しきれいです。

詳細: http://ejohn.org/blog/html-5-data-attributes/

于 2013-02-22T16:16:03.043 に答える