0

我正在尝试在 rails tmp 目录中添加一个额外的目录。

#Config/initializers/prince.rb

begin
  Dir.mkdir(Rails.root.join('tmp/prince'))
rescue Exception => e
  # Directory already exists
  puts "Error creating tmp/prince directory"
  puts e.message
end

在我的本地机器上做它工作得很好。在heroku上它打破了:

Error creating tmp/prince directory
No such file or directory - /tmp/build_1c02fc8d-e053-46c6-8449-57036a89044e/tmp/prince

有任何想法吗?

4

2 回答 2

0

Dir.mktmpdir如果你想在其中写一些东西,我建议使用在 heroku 上创建 tmp 目录。

def apply_watermark
  Dir.mktmpdir do |tmpdir|
  ...
  save_watermarked_file(watermarked_local_file)
end
于 2013-10-24T13:27:38.937 回答
0

我也有这个问题。我发现最好的方法是在您的开发机器上创建文件夹并将其推送到 Heroku。首先你必须从你的 .gitignore 文件中删除 /tmp 然后..

mkdir tmp

touch tmp/.keep

mkdir tmp/new_folder

touch tmp/new_folder/.keep

创建的 .keep 文件是空的,但必须能够上传它。git 会忽略空文件夹。

完成后,将 /tmp 添加回您的 .gitignore,这样您就不会意外地将任何 /tmp/* 文件推送到 Heroku。

于 2013-10-24T12:34:54.560 回答