我有这个读取文件的 rake 任务。
desc "Dump with images."
task :dump_with_images => :environment do
yaml_path = Rails.root + 'db/data.yml'
# output: "" -- empty string
puts File.open(yaml_path).read.inspect
[...]
end
end
如果我从任务外部读取并检查文件,
yaml_path = Rails.root + 'db/data.yml'
puts File.open(yaml_path).read.inspect
desc "Dump with images."
task :dump_with_images => :environment do
它给了我一些数据:
zeromodulus@kosuna:~/projects/recipes$ rake dump_with_images
"\n---\nphotos:\n columns:\n - id\n - created_at\n - updated_at\n - recipe_id\n - image_file_name\
我不明白为什么我可以在任务之外读取完全相同的文件,但不能在任务中读取。
当我检查 yaml_path 时,它们都是相同的,并且文件中肯定有数据。