Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 CSV.open(..)块不执行,并立即结束_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails CSV.open(..)块不执行,并立即结束

Ruby on rails CSV.open(..)块不执行,并立即结束,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在打开一个CSV文件,用以下代码编写,如CSV文档所示(http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html): 块不执行,即在CSV.open命令调试器直接转到块的末尾之后 考虑到“以防万一”,我尝试了同样的IO模式w+bwtw+taba+b。我还尝试在启动之前创建文件,以防打开时出现问题。没有什么变化 当我在CSV.open行停止调试器时,我能够手动执行一个块并自己创建一个CSV文件。我还可以从控制台使用完全相同的命令创建文件

我正在打开一个CSV文件,用以下代码编写,如CSV文档所示(http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html):

块不执行,即在CSV.open命令调试器直接转到块的末尾之后

考虑到“以防万一”,我尝试了同样的IO模式
w+b
wtw+taba+b。我还尝试在启动之前创建文件,以防打开时出现问题。没有什么变化

当我在
CSV.open
行停止调试器时,我能够手动执行一个块并自己创建一个CSV文件。我还可以从控制台使用完全相同的命令创建文件frmo。但在服务器上执行时,它将不起作用


任何关于正在发生的事情的想法都是非常受欢迎的。提前谢谢

你试图迭代某个不存在的东西(文件内容),因此它的逻辑是立即结束!试着这样做:

CSV.open(csv_file_out, "wb") do |csv|
     csv << [column1, column2,...]
end
CSV.open(CSV_file_out,“wb”)do|CSV|

csv在| csv_行| out |

之前不需要{}括号,这就是我目前正在做的事情:我看到你的代码和我的代码之间的区别是:1<代码>|csv|line|out
vs.
|csv |
2。双引号vs单引号。在您看到的
#这里发生了一些事情
我正在向
| csv|行|
添加元素。这仍然不起作用-(这几乎完全重复了op的问题,没有任何解释。您的服务器对输出文件和更重要的是对目录有写访问权限吗?是的。但我不是在我的常规计算机上运行,而是在我尚未配置的远程计算机上运行。当我在常规计算机上运行时,将在此处更新。有类似问题吗?)由于编码问题,出现了一个异常。写入CSV突然停止,终端上没有打印任何内容。我在其周围添加了begin/rescue,以找出哪里出了问题。
CSV.open(csv_file_out, "wb") do |csv|
     csv << [column1, column2,...]
end