0

私はレールに不慣れで、何かに混乱しています。

サーバーから取得した製品のリストを表示するために js.erb ファイルを使用しています。私が混乱しているのは、js.erbファイルでこれを行う方法とそれが機能することです:

<ul class="list-bordered" id="products">
    <%= render_cell :businesses, :index, {:businesses => @businesses} %>
</ul>

<%= render :partial => 'partials/infinite', :locals => {:segment => businesses_path, :container => '#businesses'} %>

他のすべての JS コードはエスケープされるため、

var t = 0;

「var t=0;」としてページに出力されます。

サーバーログを確認したところ、応答は確かに JS でした。私は Respond_with を使用しており、実際に JS リクエストに応答していることを確認しました。

副次的な質問: 「ベスト プラクティスの方法」で言えば、.js.erb ファイル内に html コードを含めても問題ありませんか?

前もって感謝します!

4

1 に答える 1

2

AJAX リクエストを発行しているので、データ型はscriptになり、.js.erbJavascript コードを簡単に記述できるファイルになります。

$("#products").html("<%=escape_javascript(render_cell :businesses, :index, {:businesses => @businesses}%>")

.js.erbこれで、必要に応じて HTML を操作できます。これは、 でパーシャルをどのようにレンダリングできるかの例にすぎません.js.erb

ここで、クライアント側で HTML をレンダリングしているとします (データ型が であることを考慮してくださいtext/html)。AJAX が成功した場合、その HTML を置き換える必要があります。

于 2012-09-12T15:02:31.083 に答える