Я использую проект rails 3.1.3 с граблями (0.9.2.2). Я хочу сделать это в граблях: назовите это как
rake tale:import_kml /path/to/file.txt
и затем внутри задачи rake получите доступ к "/path/to/file.txt" как args.filename
Я думал, что смогу сделать это так (пут есть для отладки):
namespace :tale do
desc "Expects to get a file or folder name as the first argument, and passes that to Tale.import_kml"
task(:import_kml, [:filename] => :environment) do |t, args|
puts "args = #{args.inspect}"
if File.exists?(args.filename)
Tale.import_kml(filename)
end
end
end
Но я понял:
** Invoke tale:import_kml (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute tale:import_kml
args = {}
rake aborted!
can't convert nil into String
так, имя файла не превращается в аргументы. Я не могу понять, что я делаю здесь неправильно ...