Rails用send_data强制文件名

时间:2015-03-22 16:08:38

标签: ruby-on-rails

我是客户控制器:

class ClientsController < ApplicationController
  def index
    @clients = Client.all
    respond_to do |format|
      format.text do
        file_name = "clients_emails.txt"
        send_data @clients.pluck(:email).join('; '), file_name: file_name
      end 
    end 
  end
end

应用程序中有一个指向此控制器索引操作的链接:

link_to "Extract Email List", clients_path(format: "text")

当我按下链接时,文件会自动下载,但文件名是 clients.text

看起来:file_name 选项被忽略。

有没有办法用send_data强制浏览器创建一个具有给定名称的文件?

1 个答案:

答案 0 :(得分:2)

使用filename

进行尝试
send_data @clients.pluck(:email).join('; '), filename: file_name