我的rails应用程序在Ubuntu服务器上运行。
我需要创建临时文件,以便将它们“提供”给第二个独立的应用程序(如果需要此信息,我将使用rake任务)
我的问题是:在rails应用程序上创建临时字段的最佳方法是什么?
因为我在ubuntu,我可以在/tmp/whatever
创建它们,但是只能在linux中使用它。
我希望我的应用程序尽可能便携 - 因此它可以安装在Windows机器上。 mac,如果需要的话。
有什么想法吗?
非常感谢。
答案 0 :(得分:36)
tmp/
绝对是放置文件的正确位置。
我发现在该文件夹上创建文件的最佳方法是使用ruby's tempfile library。
代码如下所示:
require 'tempfile'
def foo()
# creates a temporary file in tmp/
Tempfile.open('prefix', Rails.root.join('tmp') ) do |f|
f.print('a temp message')
f.flush
#... do more stuff with f
end
end
我喜欢这个解决方案,因为:
答案 1 :(得分:7)
Rails应用程序也有自己的tmp/
目录。我想这个版本总是可用的,因此是一个很好的候选者,可以让你的应用程序可以移植。