Ruby Rails 4 send_data safari 追加 .html

Ruby on Rails 4 send_data safari appends .html

我有一个很烦人的问题。

Mac OS X 上使用 Safari 从网页下载的所有内容时,它会附加 .html

真正奇怪的是,如果在任何其他 OS (Ubuntu/OpenSuse/Windows) 中使用 Safari,它都能正常工作。 另外,如果我在 Mac OS X 上使用任何其他浏览器也可以。

本来我是从view调用方法,但是直接从controller调用结果是一样的

控制器:

      def download_data
        object = Object.generated_to_csv

        send_data(object, type: 'text/csv; charset=utf-8; header=present', filename: 'some_file.csv', disposition: 'attachment')
      end

所以我希望 Safari 给我下载一个名称为 some_file.csv 的文件,但我得到 some_file.csv.html

刚刚找到覆盖所有内容的代码:

headers["Content-Type"] = "text/html; charset=utf-8"

如果使用正确,可以解决我的问题。