rails不会将send_data作为文件

我遇到了Rails方法的问题: send_data

这是我的行动:

 def export send_data(current_user.contacts.to_csv, type: 'text/csv; charset=utf-8; header=present', disposition: 'attachment; filename=contacts.csv' ) end 

这不会促使下载,它只是在屏幕上呈现结果。 我已经尝试过powthin服务器。

我无法弄清楚我做错了什么?

我正在使用rails 4.0.0.beta

编辑:

CURL标题:

 < HTTP/1.1 200 OK < X-Frame-Options: SAMEORIGIN < X-XSS-Protection: 1; mode=block < X-Content-Type-Options: nosniff < X-UA-Compatible: chrome=1 < X-XHR-Current-Location: /contacts/export < Content-Disposition: attachment; filename=contacts.csv < Content-Transfer-Encoding: binary < Content-Type: text/csv; charset=utf-8; header=present < Cache-Control: private < ETag: "48d3d8bd1c8d25cafb82ab705e4875ab" < Set-Cookie: request_method=GET; path=/ < X-Request-Id: c2588883-f3f9-4f68-8a8c-0de758c47288 < X-Runtime: 0.185206 < Connection: close < Server: thin 1.5.0 codename Knife 

这里的答案是针对turbolinks经典的。 有关较新版本的turbolinks的更新表示法:

 Disabled 

https://github.com/turbolinks/turbolinks#disabling-turbolinks-on-specific-links

我想到了。

涡轮风暴正在弄乱这一切。 我将数据 – 无涡轮链接添加到导出链接,现在它按预期工作。

send_data有一个选项哈希,因此需要在哈希中设置类型,配置和文件名:

 def export send_data(current_user.contacts.to_csv, type: 'text/csv', disposition: 'attachment', filename: 'contacts.csv') end