12

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
4

3 に答える 3

12

ここでの答えは、クラシックなターボリンクに対するものです。ターボリンクの新しいバージョンには、新しい表記法があります。

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

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

于 2016-05-09T13:12:47.373 に答える
9

私はそれを考え出した。

それをすべて台無しにしていたのはターボリンクでした。data-no-turbolinkをエクスポートリンクに追加しましたが、期待どおりに機能するようになりました。

于 2013-02-12T07:18:38.950 に答える
2

send_dataにはオプションハッシュがあるため、タイプ、配置、ファイル名をハッシュで設定する必要があります。

def export
  send_data(current_user.contacts.to_csv,
  type: 'text/csv', disposition: 'attachment', filename: 'contacts.csv')
end
于 2013-02-11T18:26:58.290 に答える