Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 On Rails_Ruby_Path_Rake - Fatal编程技术网

Ruby on rails 找出文件所在目录的名称

Ruby on rails 找出文件所在目录的名称,ruby-on-rails,ruby,path,rake,Ruby On Rails,Ruby,Path,Rake,例如,我有以下目录结构: DIRECTORY_A/cat/myfile.txt DIRECTORY_B/dog/myfile.txt DIRECTORY_C/tiger/myfile.txt 您可以看到,在每个目录中,我都有相同的文件“myfile.txt”。“myfile.txt”由ruby脚本创建,如下所示。现在我想在myfile.txt中输入myfile.txt所在的目录名 例如: myfile.txt from "cat" directory should contain the s

例如,我有以下目录结构:

DIRECTORY_A/cat/myfile.txt
DIRECTORY_B/dog/myfile.txt
DIRECTORY_C/tiger/myfile.txt
您可以看到,在每个目录中,我都有相同的文件“myfile.txt”。“myfile.txt”由ruby脚本创建,如下所示。现在我想在myfile.txt中输入myfile.txt所在的目录名

例如:

 myfile.txt from "cat" directory should contain the string "cat"
 myfile.txt from "dog" directory should contain the string "dog"
 myfile.txt from "tiger" directory should contain the string "tiger"
我不知道该怎么做。我的代码中显示的“?”是什么

def create_file
Dir['DIRECTORY_*/*/'].each do |dir|
  File.new File.join(dir, 'myfile.txt'), 'w+'
  Dir['DIRECTORY_*/*/myfile.txt'].each do |path|
    File.open(path,'w+') do |f| f.puts "????"

有什么想法吗?

听起来您想从路径中提取最后一个目录名。最简单的方法是使用File.dirname和File.basename:

last_dir = File.basename(File.dirname(path))
File.open(path,'w+') { |f| f.puts lastdir }