Rails3.0アプリケーションをPrototypeとRJSで実行しています。jQueryだけを使用するように変換したいと思います。
私の質問は
1. jQueryを使用するときにRJSを完全に取り除くことは可能ですか?
と
2.そうでない場合、以下を変換するにはどうすればよいですか。
index.html.erbに次のDIV要素があります。
<div id="students"></div>
私は以下を含むajaxCalls.js.erbを持っています:
$.ajax({
url: '<%=populate_students_path()%>',
type: 'POST',
data: 'authenticity_token=' + AUTH_TOKEN,
dataType: 'html', // Consider changing to HTML if this doesnt work
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
}
}).done(function (data) {
// TODO Populate table with populate function
var users_table = $('#students').dataTable({
'aData': data
});
});
その中で私は次の応答を受け取ります:
try {
populate("{\"54\":{\"section\":\"-\",\"filter_table_row_contents\":\"<td>\\n c5leharf\\n</td>\\n<td>\\n Lehar\\n</td>\\n<td>\\n Franz}")
}
私は以下を含むpopulate.rjsを持っています:
page.call "populate", @students.to_json
これは次のように呼ばれるかもしれませんが、私にはわかりません:
function populate(json_data) {
users_table.populate(json_data);
users_table.render();
}
だから、ここでの質問は**
応答を正しくレンダリングするにはどうすればよいですか?AJAX呼び出しから取得したデータからpopulate関数を削除するにはどうすればよいですか?プレーンJSONを取得するにはどうすればよいですか?
編集:Kaerosの答えは機能し、私のコントローラーは次のようになりました。
respond_to do |format|
format.json { render :json => @students_data }
end