0

我想要完成的事情很简单。我正在使用 Rails 和 CoffeeScript(和 S3)。

  1. 用户将文件拖到放置区域以进行上传。

  2. CoffeeScript 向 Rails 控制器操作发送 xmlHTTP 请求,以获取 S3 请求的签名 URL。

  3. Rails 为上传创建一条记录,创建一个签名的请求 URL,然后发回一个 JSON 对象,其中包含签名的 URL 以及进度事件的上传 ID 等等。

因为我的 Rails 操作使用 JSON 响应,所以我不能让 rails 也渲染一个 .js.coffee(.erb) 文件来更新包含上传计数的部分。

有没有一种方便的方法可以通过一个请求来完成这两项任务?

感谢您的任何帮助 :)

4

2 回答 2

1

而不是使用 js.erb,对部分使用 render_to_string 方法并将其与 json 响应一起发送

于 2012-10-12T04:54:28.573 回答
0

如果您想通过一个请求完成所有事情,您可以:

  • 以 js 格式响应操作,然后编写所有逻辑以将 JSON 字符串设置在已知位置/变量中,更新计数器等,所有这些都在一个位置。

  • 将 XMLHttpRequest 的编码设置为 JSON,使用所需的 JSON 字符串以 JSON 格式响应操作,然后在客户端请求的成功回调中更新客户端的计数器。通过将所有计算留在最终用户的设备手中,这具有“简化”响应逻辑的优势。

于 2012-10-12T07:48:04.283 回答