我目前正在尝试将一个用于模糊字符串匹配的宝石包含到我的Rails项目中,并且在我实际尝试使用它时遇到错误,并且会喜欢任何关于在何处查找缺失链接的建议。
在我的GemFile中:
gem 'fuzzy-string-match'
在进行捆绑安装后,我的GemFile.lock中会显示:
fuzzy-string-match (0.9.5)
但每当我尝试在我的项目中使用它时,我都会收到错误:
NameError: uninitialized constant FuzzyStringMatch
如果我在我的模型中手动要求它,我已经开始工作了:
require 'fuzzystringmatch'
但我的理解是捆绑者应该在幕后处理。有没有一种好的方法来调试并查看捆绑器实际上在做什么来理解为什么缺少它?
谢谢!
答案 0 :(得分:0)
允许您跳过require
语句的约定只能起作用
当gem的名称(fuzzy-string-match
)与gem项目的lib目录(fuzzystringmatch.rb
)的根目录中的文件名匹配时。这被称为gem的主文件(source)。在这种情况下,它不匹配。
为避免重复require
语句,您可以执行以下操作:
gem 'fuzzy-string-match', :require => "fuzzystringmatch"