Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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 File.read返回零_Ruby On Rails_Ruby_Json_File - Fatal编程技术网

Ruby on rails File.read返回零

Ruby on rails File.read返回零,ruby-on-rails,ruby,json,file,Ruby On Rails,Ruby,Json,File,我用ruby创建了一个文件,并在其中保存了一些哈希。当我读文件时,我得到零。代码如下: my_hash = Hash.new file = File.open("my_file.json", "w") my_hash["test_key"] = "0.1" file.write(my_hash.to_json) file_read = File.read("my_file.json") p file_read // This prints nil 当我打开文件时,我看到{“test_key

我用ruby创建了一个文件,并在其中保存了一些哈希。当我读文件时,我得到零。代码如下:

my_hash = Hash.new
file = File.open("my_file.json", "w")

my_hash["test_key"] = "0.1"
file.write(my_hash.to_json)

file_read = File.read("my_file.json")
p file_read // This prints nil
当我打开文件时,我看到
{“test_key”:“0.1”}


我在这里遗漏了什么吗?

您在写入文件后没有关闭该文件,因此在您尝试读取该文件时,操作系统很可能尚未将挂起的IO刷新到文件中。就操作系统而言,该文件尚不存在。

完成写入后关闭该文件:

my_hash = Hash.new
file = File.open("my_file.json", "w")

my_hash["test_key"] = "0.1"
file.write(my_hash.to_json)
file.close # close after writing

file_read = File.read("my_file.json")
p file_read

啊哈。。。就这样。谢谢mcfinnigan!