我的 Rails 应用程序在 Ubuntu 服务器计算机上运行。
我需要创建临时文件,以便将它们“馈送到”第二个独立应用程序(我将为此使用 rake 任务,以防需要此信息)
我的问题是:在 Rails 应用程序上创建临时字段的最佳方法是什么?
因为我在 ubuntu,所以我可以在/tmp/whatever
,但是什么只能在linux下工作。
我希望我的应用程序尽可能便携 - 因此如果需要,它可以安装在 Windows 机器和 Mac 上。
有任何想法吗?
多谢。
tmp/
绝对是放置文件的正确位置。
我发现在该文件夹上创建文件的最佳方法是使用ruby 的临时文件库 http://ruby-doc.org/stdlib/libdoc/tempfile/rdoc/index.html.
代码如下所示:
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
我喜欢这个解决方案,因为:
- 它自动生成随机文件名(您可以提供前缀)
- 当文件不再使用时,它会自动删除它们。例如,如果在 rake 任务上调用,则文件将在 rake 任务结束时被删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)