У меня есть эта задача, которая читает файл.Невозможно прочитать файл из задачи 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
Это дает мне некоторые данные:
[email protected]:~/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, они оба одинаковы, и файл определенно содержит в нем данные.
Это должно сработать. См. Https://gist.github.com/tamouse/1f73c79b5e4675e498b7 – tamouse