2013-10-03 49 views
0

我想在rails tmp目錄內添加一個額外的目錄。在Heroku的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

我也有這個問題。我發現的最好方法是在開發機器上創建文件夾並將其推送到Heroku。 首先,你必須移除那麼你的.gitignore文件/ tmp ..

mkdir tmp 

touch tmp/.keep 

mkdir tmp/new_folder 

touch tmp/new_folder/.keep 

創建.keep文件是空的,但必須能夠把它上傳。空文件夾被git忽略。

完成後,將/ tmp添加回您的.gitignore,以免意外將任何/ tmp/*文件推送到Heroku。

+0

好的開始,但'.gitignore'中的默認值是忽略'/ tmp',所以這樣做還不行。 – zwippie

0

我建議使用Dir.mktmpdir在heroku上創建tmp目錄,如果你想寫一些東西。

def apply_watermark 
    Dir.mktmpdir do |tmpdir| 
    ... 
    save_watermarked_file(watermarked_local_file) 
end