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 に答える