我在从我的数据库导出为 XLS 时遇到了一个小问题。
我使用 gem to_xls 并且在遵循文档之后我有这个错误,我不知道如何开始并启动我的文件的下载:

Controller :

def export
  @subscribes = Subscribe.all
  respond_to do |format |
    format.xls { [email protected]_xls, disposition: 'attachment', : filename = > 'Subscribes.xls' }
  end
end

我的 MIME 文件

Mime::Type.register "application/vnd.ms-excel", :xls

所以,我在完整标题中得到的错误:

Request URL:https://localhost:3000/subscribes/export
Request Method:GET
Status Code:406 Not Acceptable

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Host:localhost:3000
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36

Cache-Control:no-cache
Connection:close
Content-Type:text/html; charset=utf-8
Server:thin 1.5.1 codename Straight Razor
Strict-Transport-Security:max-age=31536000
X-Request-Id:a5be7889994f1035818d6a554f991636
X-Runtime:0.012001
X-UA-Compatible:IE=Edge

谢谢你帮助我:)

最佳答案

由于您使用的是 format.xls ,您必须将 .xls 附加到 url 。尝试

curl -v https://localhost:3000/subscribes/export.xls

否则,您可以将 send_data 移出 respond_to 块。

关于ruby-on-rails - Rails send_data 返回 HTTP 错误 406,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18507501/

10-12 21:12