我的 rails 应用程序在 Ubuntu 服务器机器上运行。
我需要创建临时文件,以便将它们“提供”给第二个独立的应用程序(我将为此使用 rake 任务,以防需要此信息)
我的问题是:在 Rails 应用程序上创建临时字段的最佳方法是什么?
由于我在 ubuntu 中,我可以在 上创建它们/tmp/whatever
,但仅适用于 linux。
我希望我的应用程序尽可能便携 - 如果需要,它可以安装在 Windows 机器和 mac 上。
有任何想法吗?
非常感谢。
我的 rails 应用程序在 Ubuntu 服务器机器上运行。
我需要创建临时文件,以便将它们“提供”给第二个独立的应用程序(我将为此使用 rake 任务,以防需要此信息)
我的问题是:在 Rails 应用程序上创建临时字段的最佳方法是什么?
由于我在 ubuntu 中,我可以在 上创建它们/tmp/whatever
,但仅适用于 linux。
我希望我的应用程序尽可能便携 - 如果需要,它可以安装在 Windows 机器和 mac 上。
有任何想法吗?
非常感谢。
tmp/
绝对是放置文件的正确位置。
我发现在该文件夹上创建文件的最佳方法是使用ruby 的 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
我喜欢这个解决方案,因为:
Rails 应用程序也有自己的tmp/
目录。我猜想它总是可用的,因此是使用和保持应用程序可移植性的好人选。