1

私は現在、Rails プロジェクトにファジー文字列マッチングのジェムを含めようとしていますが、実際に使用しようとするとエラーが発生します。欠落しているリンクを追跡する場所についての提案があれば幸いです。

私のGemFileで:

gem 'fuzzy-string-match'

バンドルのインストールを行った後、GemFile.lock に次のように表示されます。

fuzzy-string-match (0.9.5)

しかし、プロジェクトで使用しようとすると、エラーが発生します。

NameError: uninitialized constant FuzzyStringMatch

モデルで手動で必要とする場合、動作するようになりました。

require 'fuzzystringmatch'

しかし、私の理解では、バンドラーが舞台裏でそれを処理する必要があります。これが欠落している理由を理解するために、バンドラーが実際に行っていることをデバッグして確認する良い方法はありますか?

ありがとう!

4

1 に答える 1

0

requireステートメントをスキップできる規則は、gem の名前 ( )が gem プロジェクトの lib ディレクトリ( )fuzzy-string-matchのルートにあるファイルの名前と一致する場合にのみ機能します。これは、gem のメイン ファイル ( source ) と呼ばれます。この場合は一致しません。fuzzystringmatch.rb

ステートメントの繰り返しを避けるにrequireは、次のようにします。

gem 'fuzzy-string-match', :require => "fuzzystringmatch"
于 2013-04-09T21:41:24.853 に答える