Rails路由访问保存到tmp目录的文件

时间:2017-02-14 22:14:54

标签: ruby-on-rails

在我的后台工作人员中,我正在创建一个pdf并将其保存到tmp目录中:

save_path = Rails.root.join('tmp', unique_report_name)
File.open(save_path, 'wb') do |file|
  file << pdf
end

然后我尝试在新窗口中打开pdf并收到ActionController::RoutingError (No route matches [GET]错误。

我已尝试使用以下config.ru中的以下内容复制他们使用CarrierWave做的事情(我使用CarrierWave):

use Rack::Static, :urls => ['/tmp'], :root => 'tmp'

但是我收到错误File not found: /tmp/my_file_name.pdf,即使文件确实存在于该位置。

1 个答案:

答案 0 :(得分:1)

您应该可以使用Rails.root来访问该文件

"#{Rails.root}/tmp/my_file_name.pdf"