我正在尝试在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
有什么想法吗?
答案 0 :(得分:0)
我也有这个问题。我发现的最好方法是在开发机器上创建文件夹并将其推送到Heroku。 首先,您必须从.gitignore文件中删除/ tmp然后..
mkdir tmp
touch tmp/.keep
mkdir tmp/new_folder
touch tmp/new_folder/.keep
创建的.keep文件为空,但必须能够上传它。 git忽略空文件夹。
完成后,将/ tmp添加回.gitignore,这样就不会意外地将任何/ tmp / *文件推送到Heroku。
答案 1 :(得分:0)
我建议使用Dir.mktmpdir
在heroku上创建tmp目录,如果你想在其中写一些内容。
def apply_watermark
Dir.mktmpdir do |tmpdir|
...
save_watermarked_file(watermarked_local_file)
end