私は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