Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails发送过期文件_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails发送过期文件

Ruby on rails Rails发送过期文件,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,因此,我有一个rails应用程序,可以在我的folhas\u controller.rb中输出一些文件: def show @folha = Folha.find(params[:id]) @servicos = @folha.servicos nome = "#{@folha.nome_do_mes}-#{@folha.ano}-#{DateTime.now.to_i}" respond_to do |format| format.csv { s

因此,我有一个rails应用程序,可以在我的
folhas\u controller.rb
中输出一些文件:

  def show
    @folha = Folha.find(params[:id])
    @servicos = @folha.servicos
    nome = "#{@folha.nome_do_mes}-#{@folha.ano}-#{DateTime.now.to_i}"
    respond_to do |format|
      format.csv { send_data @folha.to_csv, filename: "#{nome}.csv" }
      format.xlsx do
        xlsx_package = @folha.to_xls
        begin
          temp = Tempfile.new("folha.xlsx")
          xlsx_package.serialize temp.path
          xlsx_package.use_shared_strings
          send_file temp.path, filename: "#{nome}.xlsx", type: "application/xlsx"
        ensure
        temp.close
        temp.unlink
        end
      end
      format.pdf do
        pdf = @folha.to_pdf(view_context)
        send_data pdf.render, filename: "#{nome}.pdf", type: "application/pdf"#, disposition: "inline"
      end
    end
  end
事情发展得很顺利。
然后我部署到heroku,我的
不断向我发送过去生成的文件,包括旧文件名。如何删除这些旧文件并强制Rails生成新文件?

为什么您认为它是Rails而不是服务器缓存中的旧副本?文件名带有旧的指纹,它以发送文件响应,但不执行其他任何操作。。。如果该文件是缓存中的旧副本,如何删除和防止此行为?请检查此类文件是否在公用文件夹中,并将其删除