我在从我的数据库导出为 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/