2013-02-11 5 views
11

はファイルとしてSEND_DATAません。画面。私はpowthinの両方のサーバーを試しました。レールが、私はRailsの方法で問題を抱えている

私が間違っていることを理解できませんか?

私はrails 4.0.0.beta

EDIT使用しています:

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 
+0

あなたは '-v HTTPをカールした結果を投稿できますか?コンテンツタイプを正しく設定していないと思います。 – stef

+0

CURLヘッダーを追加しました – sandelius

+0

これはブラウザ固有の可能性があります。あなたはどのブラウザをテストしていますか? – bdares

答えて

10

私はそれを理解しました。

それはそれをすべて台無しにしていたturbolinksでした。私はエクスポートリンクにデータ無しターボリンクを追加しました。今は期待どおりに動作します。

+0

+1:それをturbolinksの私のリストに追加gotchas – bdares

+1

しかし、私はturbolinksなしでこの問題にも遭遇しました。私は遠隔地を持っていた:私のlink_toの真のセット。リモートを削除する:問題を修正しました。 – cgat

2

send_dataはオプションのハッシュを持っているので、種類、処分とファイル名はハッシュに設定する必要があります。

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

私は第2引数としてハッシュを渡しています。あなたのやり方も試してみましたが、画面上にコンテンツを表示するだけです。 – sandelius

10

ここの答えは、ターボの古典的なものです。 turbolinksの新しいバージョンの新しい表記法があります:// localhostを:3000/whateveryourrouteis`

<a href="/" data-turbolinks="false">Disabled</a> 

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

+0

偉大な男、それは私のために働いた、私はターボリンクの新しいバージョンを使用していた。 \ m/ – Aamir

+0

これはまだ素晴らしいです。 –

関連する問題