2012-07-13 58 views
0

我無法基於傳遞給耙拉斯克參數來加載文件PARAMATERS加載文件無法根據傳遞給耙任務

我的代碼

task :update_s =>:environment do 
puts 'enter file name for status' 
file=STDIN.gets 
file="config/status/#{file}" 
license_status=YAML.load_file(file) 
end 

傳遞的參數是abc.yml但我得到一個錯誤

No such file or directory - config/status/abc.yml 

,但如果我硬編碼的文件名(如下代碼),它的工作原理

task :update_s =>:environment do 

license_status=YAML.load_file("config/status/abc.yml") 

end 

我已經嘗試過幾個沒有工作的組合。有沒有一種方法可以根據傳遞給rake任務的參數來加載yml文件。

回答

0

這是因爲gets返回換行符,所以file實際上是"config/status/abc.yml\n"

您可以chomp刪除換行符:

file = STDIN.gets.chomp 
+0

謝謝您的回答。這是我愚蠢的錯誤。 – 2012-07-13 09:55:27