2010-08-30 46 views
1

我需要从Rails应用程序创建本地xml文件,然后将其复制到另一台服务器上的某个位置。Rails创建本地xml文件

我已经尝试使用File.new选项来创建一个新文件,但它给了我一个错误说该文件不存在。在仔细查看文档后,它说File.new打开了一个已经存在的文件。

我看不到任何方式使用Ruby创建本地文件,我错过了什么?

回答

1

假设你已经建立了你的XML转换成字符串,xml_string,你可以这样做:

xml_file = open(filename, 'w') 
xml_file.write xml_string 
xml_file.close 

或者使用块语法一行来实现这一目标:

File.open(local_filename, 'w') { |f| f.write(xml_string) } 
+0

我只是想用'w'打开一个文件。它给了我一个拒绝的权限,所以我认为它正在尝试做正确的事情。 – Rumpleteaser 2010-08-30 23:01:10

+0

您是否获得本地开发服务器或远程托管服务器上拒绝的权限?听起来像Web服务器用户没有写入您尝试使用的位置的权限。如果打算将文件写入磁盘,以便将文件复制到别处,那么您可能只需要一个目录,您可以使用该目录在传输之前存储文件的临时副本。 – mikej 2010-08-30 23:04:06

+0

它在拒绝权限的本地开发服务器上发生。当他进来时,我会让我的队友设置权限。 – Rumpleteaser 2010-08-30 23:08:55