【发布时间】:2017-07-10 17:40:31
【问题描述】:
我有方法:
`# require modules here
require "yaml"
def load_library(file_path)
# code goes here
file_path = YAML.load_file('emoticons.yml')
file_path
end
我试图让它加载emoticons.yml 文件,但是当我尝试使用文件路径参数运行该方法时
load_library(".lib/emoticons.yml")
我收到以下错误:
<Errno::ENOENT: No such file or directory @ rb_sysopen - emoticons.yml>
回溯:
./lib/translator.rb:6:in load_library'
./spec/translator_spec.rb:4:in block (3 levels) in <top (required)>'
./spec/translator_spec.rb:4:in block (2 levels) in <top (required)>'
./spec/translator_spec.rb:4:in `block (2 levels) in <top (required)>'
语法有问题还是我需要将require "yaml" 放在方法中?
【问题讨论】:
-
“我收到一个错误。”您应该与您寻求帮助调试它的人分享该错误。
-
你确定文件路径是
.lib/emoticons.yml而不是./lib/emoticons.yml? -
@jaydel 抱歉,这是一个错字。我正在使用
./lib/emoticons.yml,但它仍然给我错误 -
@coreyward 这里是错误:#load_library 接受一个参数,文件路径
Failure/Error: expect { load_library("./lib/emoticons.yml") }.to_not raise_error expected no Exception, got #<Errno::ENOENT: No such file or directory @ rb_sysopen - emoticons.yml> with backtrace: # ./lib/translator.rb:6:inload_library' # ./spec/translator_spec.rb:4:inblock (3 levels) in <top (required)>' # ./spec/translator_spec.rb:4:inblock (2 levels) in' # ./spec/translator_spec.rb:4:in `block (2 levels) in ' -
@M.C.看起来你的方法很好用——你的问题/问题是“为什么我会收到‘没有这样的文件’错误”。
标签: ruby-on-rails ruby yaml