0

モデル「プレーヤー」があり、ホームページをロードすると、ランダムなプレーヤーの写真が表示されます。クリックすると、そのプレーヤーのフィールド (num_clicks) が 1 増加します。

今私は持っています:

  • 画像のクリック イベントをリッスンする jQuery
  • static_pages_controller#player_clicked でサーバーに AJAX リクエストを送信し、DOM に格納されているプレーヤーの ID を送信します。
  • コントローラーはプレーヤーのフィールドを更新し、新しい値を (JSON 経由で) AJAX 要求の成功のコールバックに送り返します。
  • 成功のコールバックは、jQuery を使用して新しい値を DOM に挿入します。

この機能のすべての jQuery は に/home.js.coffeeあります。これを配置するのに適切な場所はありますか?

link_to写真のクリックリスナーではなく、写真内で使用する必要がありますか?

ページ (ロード時home) には @player.num_clicks が表示されるため、サーバーによって提供された新しい値で (AJAX 成功コールバックで) 上書きするのではなく、この数値が自動的に更新されると便利です。これは可能ですか?

現在、私がやっていることは基本的に機能していますが、それは「レールのやり方」ではないとかなり確信しており、それに対処したいと思います. ありがとう!

4

1 に答える 1

1

はい、画像で link_to を使用して、この変更を行います。レールの方法は、 link_to with remote => true を使用することです

<%=link_to ...., :remote => true%>

controller#action で、成功コールバックで記述したすべての JavaScript を含む app/views/static_pages/player_clicked.js.erb のような js erb テンプレートを記述します。

避けられない場合は、サーバーから更新されたクリック数を取得する必要があります。

これが役立つことを願っています。

于 2013-10-01T23:58:31.547 に答える