0

私はRailsを初めて使用しますが、PHPを使用しています。ほとんどの場合、HTML AJAX応答があるときはいつでも、jqueryの.load()を使用してコンテナー(任意の要素)にロードできます。

私もRailsでそれを行いましたが、最近別のアプローチになりました。.js.erbファイルを使用することです。getScript()を使用してコントローラーアクションを実行すると、js.erbファイルがjs(ajax)リクエストに応答し、.js.erbファイルに読み込みを行います。

与えられたgeneral.js:

$.getScript(url, function(){});

与えられたindex.js.erb:

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

しかし、general.jsでロードを実行できる場合、これは非常に反復的であるように見えます。コントローラーが持っているこのテンプレートにajaxリクエストを送信し、それをコンテナーにロードします(jquery .load()のセレクターを使用して必要な要素を選択するだけで、application_controller条件を使用してレイアウトをレンダリングしないことができます) :

<ul>
<%= render_cell :products, :index, {:products => @products} %>
</ul>

この場合、.js.erbファイルをより効果的に使用する方法はありますか?

注:twitter-bootstrapタブを使用しているため、2番目のアプローチを使用する必要がありました。私は最初に最初のアプローチを使用しましたが、2番目の方法はより「レールの方法」だと思います。これは学習プロジェクトなので、どうしてですか?XD

4

0 に答える 0