0

私が達成しようとしていることは単純です。Rails と CoffeeScript (および S3) を使用しています。

  1. ユーザー アップロード用のドロップ領域にファイルをドラッグします。

  2. CoffeeScript は xmlHTTP リクエストを Rails コントローラー アクションに送信して、S3 リクエストの署名付き URL を取得します。

  3. Rails はアップロードのレコードを作成し、署名付きのリクエスト URL を作成し、署名付きの URL と進行状況イベントのアップロード ID などを含む JSON オブジェクトを返します。

JSON で応答する Rails アクションがあるため、アップロード カウントを含むパーシャルを更新するために Rails に .js.coffee(.erb) ファイルもレンダリングさせることはできません。

1 回のリクエストでこれらのタスクの両方を達成する便利な方法はありますか??

助けてくれてありがとう:)

4

2 に答える 2

1

js.erb を使用する代わりに、パーシャルに render_to_string メソッドを使用し、json 応答で送信します

于 2012-10-12T04:54:28.573 に答える
0

1 回のリクエストですべてを達成したい場合は、次のいずれかを行います。

  • アクションに js 形式で応答し、すべてのロジックを記述して、JSON 文字列を既知の場所/変数に設定し、カウンターを更新するなどをすべて 1 か所で行います。

  • XMLHttpRequest のエンコーディングを JSON として設定し、目的の JSON 文字列を使用して JSON 形式でアクションに応答し、クライアント リクエストの成功コールバックでクライアント側のカウンターを更新します。これには、すべての計算をエンド ユーザーのデバイスに任せることで、応答のロジックを「単純化」できるという利点があります。

于 2012-10-12T07:48:04.283 に答える