1

パーシャルをレンダリングするビュー「edit.html.erb」があります。

<div id="exerciseslist"><%= render 'exerciseslist' %></div>

「edit.js.erb」内に、何かが更新されるたびにパーシャルをリロードする次の行があります。

$('#exerciseslist').html('<%= escape_javascript(render("exerciseslist")) %>');

パーシャルは、各項目の画像といくつかのボタンを含む一連の項目を含むテーブルです。部分的に変更されているのはボタンだけです。送信が成功すると、ボタンの状態が切り替わり、追加されたことを示します。

問題は、リクエストが発生したときに画像が点滅する方法が気に入らないことです。アイテムはスクロール可能なセクション内にもあり、毎回状態が失われます。

完全なパーシャルをレンダリングせずにボタンの状態をロードする良い方法はありますか? または、クライアントが毎回画像を要求するのを止める簡単な方法はありますか?

私はいくつかの読書をして、pjaxとbackbone.jsを見つけました。どちらも良い方法ですか、それともこれを行うためのより簡単なレールの方法はありますか?

ありがとう、マイク

4

1 に答える 1

0

コードを見ないとわかりませんが、Rails だけでもできると思います。送信時にパーシャルを再レンダリングする代わりにexerciseslist、AJAX リクエストを記述して新しいデータの送信を処理し、成功時にパーシャルをリロードするのではなく、コールバックにボタンの状態を変更させることができます。

于 2012-07-16T13:17:08.840 に答える