0

我无法根据传递给 rake rask 的参数加载文件

我的代码

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 文件。

4

1 回答 1

0

这是因为gets返回换行符,所以file实际上是"config/status/abc.yml\n"

您可以使用以下命令删除换行符chomp

file = STDIN.gets.chomp
于 2012-07-13T09:39:46.107 回答