2013-04-09 71 views
1

我目前正試圖以包括模糊字符串匹配到我的Rails項目寶石和我得到一個錯誤,當我真正嘗試使用它,並希望任何建議在哪裏尋找追蹤缺失的鏈接。需要捆綁的寶石沒有使用Rails 3

在我的Gemfile:

gem 'fuzzy-string-match' 

其中做了捆綁後,我Gemfile.lock的顯示了安裝:

fuzzy-string-match (0.9.5) 

但每當我試圖在我的項目中使用它,我得到一個錯誤:

NameError: uninitialized constant FuzzyStringMatch 

我得到它,如果我手動要求它在我的模型工作:

require 'fuzzystringmatch' 

但我的理解是,bundler應該在幕後照顧。有沒有一種很好的方法來調試,看看bundler實際上在做什麼來理解爲什麼會丟失?

謝謝!

回答

0

,讓你跳過require聲明只會工作 當寶石(​​)的名稱在創業板項目的lib目錄(fuzzystringmatch.rb)的根目錄與文件名的約定。這就是所謂的寶石主文件(source)。在這種情況下,它不匹配。

爲了避免require聲明的重複,你不妨做到以下幾點:

gem 'fuzzy-string-match', :require => "fuzzystringmatch" 
+0

這做到了!謝謝(你的)信息! :) – nozomiyume 2013-04-09 23:19:57