我的Rails应用运行在Ubuntu服务器机器上。
我需要创建临时文件以便将它们“提供”给另一个独立的应用程序(我将使用rake任务来完成这个过程,如果需要这些信息)。
我的问题是:在Rails应用程序中创建临时字段的最佳方法是什么?
由于我在ubuntu操作系统中,我可以在/tmp/whatever
中创建它们,但这只适用于Linux。
我希望我的应用程序尽可能具有可移植性——因此,如果需要,它可以安装在Windows和Mac上。
有什么建议吗?
非常感谢。
我的Rails应用运行在Ubuntu服务器机器上。
我需要创建临时文件以便将它们“提供”给另一个独立的应用程序(我将使用rake任务来完成这个过程,如果需要这些信息)。
我的问题是:在Rails应用程序中创建临时字段的最佳方法是什么?
由于我在ubuntu操作系统中,我可以在/tmp/whatever
中创建它们,但这只适用于Linux。
我希望我的应用程序尽可能具有可移植性——因此,如果需要,它可以安装在Windows和Mac上。
有什么建议吗?
非常感谢。
tmp/
绝对是放置文件的正确位置。
我找到的在该文件夹上创建文件的最佳方法是使用 Ruby 的 tempfile 库。
代码如下:
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
我喜欢这个解决方案,因为:
tmp/
目录。我猜这个目录始终可用,因此是一个很好的选择,可以使用并保持你的应用程序可移植性。
file.path
来引用它! - Mithun Satheesh