0

ビューにいくつかの js.erb スクリプトを含めようとしています。単純に、ポーリング ベースのチャットをコーディングしているため、非常にシンプルに保ちたいのですが、実際には、最初に考えていたよりもはるかに複雑なものになってしまいました。

これが私のjs.erbスクリプトコードです:

$( document ).ready(function() {   

    $(function() {
    setTimeout(updateMessages, 1000);

});

function updateMessages () {
  var game_id = $("#game_chat").attr("data-id");
  $("#messages").html("<%=escape_javascript(render(:partial => 'messages')) %> ");
  setTimeout(updateMessages, 1000);
}

});

そして私のパーシャルは単純です

  <%= render @messages %>

私は本当にここで立ち往生しました.js.erbコードをビュー内に含める簡単な方法はないようです. 私は次のようなことを意味します:

<%= javascript_include_tag  "games/messages.js.erb" %>
4

1 に答える 1

1

アセット パイプラインを使用している場合は、.js.erb は必要ありません。<%= javascript_include_tag "ゲーム/メッセージ" %>. チルト (使用するテンプレート エンジンを決定するエンジン) は右側から開始され、ブラウザとビューが実際に .js ファイルのみを表示するように、右側から逆方向に動作します。そうは言っても、JS の観点からすると、これを行うと、あらゆる範囲の醜さが生じます。そのような大きな文字列を含めると、コードで評価がトリガーされます。ソースを 100% 信頼できる場合はこれで問題ありませんが、注意しないと xss に開かれます。

于 2013-06-21T08:03:47.003 に答える