use*_*303 6 hash rake ruby-on-rails rakefile
我正在尝试Hashie在 Rails 之外使用。在我的 rakefile 中,我已经包含了require hashie/hash,但我仍然得到NoMethodError. 我试过使用require hash; 那里也没有运气。
这是它失败的行:
YAML.load(ERB.new(File.read('../prefs.yml')).result)['dev'].symbolize_keys!
Run Code Online (Sandbox Code Playgroud)
当我inspect使用哈希时,它看起来是正确的并采用以下形式:{'key':'value'}. 我希望密钥是一个符号,但我不想在 Rails 3 和 4 之间切换,所以我安装Hashie了它并将其添加到我的 Rakefile 中,但这似乎并没有解决问题。
谁能告诉我为什么我可能会收到此错误?
symbolize_keys!方法属于activesupport(github rubygems),如果没有这个 gem,你就无法使用它。
为了使用它,将其添加到您的 Gemfile(或通过bundle add activesupport)并在您的代码中明确要求它
require 'active_support/core_ext/hash/keys'
Run Code Online (Sandbox Code Playgroud)
或者你可以像这个要点中那样编写使用polyfill
https://rubygems.org/gems/activesupport/