Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby-在File.open和rename之后权限被拒绝_Ruby On Rails_Ruby_Permission Denied_Fileutils - Fatal编程技术网

Ruby on rails ruby-在File.open和rename之后权限被拒绝

Ruby on rails ruby-在File.open和rename之后权限被拒绝,ruby-on-rails,ruby,permission-denied,fileutils,Ruby On Rails,Ruby,Permission Denied,Fileutils,我修改了一个文件,然后尝试重命名它并重命名他的目录。 但我得到了一个被拒绝的权限错误 这是我的密码: # 1) Modify the xml file Xml_file = "Directory/foo.xml" begin contents = File.new(Xml_file).read $document = REXML::Document.new(contents) $document.root.elements["label"].text = "some

我修改了一个文件,然后尝试重命名它并重命名他的目录。 但我得到了一个被拒绝的权限错误

这是我的密码:

# 1) Modify the xml file

Xml_file = "Directory/foo.xml"

begin
    contents = File.new(Xml_file).read
    $document = REXML::Document.new(contents)
    $document.root.elements["label"].text = "some text"  

    File.open(Xml_file, "w") do |data|
    data<<$document
end

ensure
    $document = nil
end

# 2) Then rename the file and the directory

old_name = Xml_file
new_name = "Directory/new_name.xml"
File.rename(old_name, new_name) # OK, this works !

old_dir = "Directory"
new_dir = "New_Directory"
FileUtils.mv(old_dir, new_dir) # Crash, saying "permission denied"
#1)修改xml文件
Xml\u file=“Directory/foo.Xml”
开始
contents=File.new(Xml\u文件).read
$document=REXML::document.new(内容)
$document.root.elements[“label”].text=“一些文本”
打开(Xml_文件,“w”)do|数据|
数据如中所述,应添加

force: true

如果目标目录不存在,则选择
FileUtils.mv

我不需要强制:此处为true,因为我使用FileUtils.mv重命名目录。