0

私はブログを読んでいますマウント可能な宝石の作成

gem のルート ファイルで、依存する gem を明示的に要求する必要があることに注意することが重要です。たとえば、gem の名前が my_cool_gem の場合、lib フォルダー内に my_cool_gem.rb を作成する必要があります。gem が strong_parameters に依存している場合は、次の行を追加する必要があります。

著者は、依存する gem をルート ファイルに明示的に含める必要がある理由については言及していません。なぜこれを行う必要があるのか​​ 説明できますか?

4

2 に答える 2

0

それはただきれいです。requiregem のいたるところに散らばっているさまざまなファイルにステートメントがあるとしたらどうでしょうか? すべての依存関係を簡単に確認するのは面倒です。

于 2013-10-08T20:25:13.153 に答える
0

この文:

gem のルート ファイルで、依存する gem を明示的に要求する必要があることに注意することが重要です。

これは、従わなければならない厳密な声明ではありません (著者に公平を期すために、この言葉は「しなければならない」ではなく「すべきです」です)。別のアプローチを取ることを好む人もいます。たとえば、依存関係を使用するライブラリの一部のみを必要とする場合などです。

ただし、次のことを考慮する必要があります。

  • require他の場所で使用されるシンボルを定義するステートメントの実行順序。requireメソッドを提供するgemがまだ-dされていない場合、インスタンスメソッドを設定するDSLメソッドを呼び出すことはできません

  • 依存関係が本当にrequireすべて修正されていること、およびまだロードされていないプロジェクトで gem が正しく機能することを確認する必要があります。

これらの両方を念頭に置いて、多くの場合、require依存関係を早い段階で迅速に確認できる方法で行うのが最も迅速かつ簡単です。したがって、アドバイスは適切です。非常に短い記事で提示されたので、声明を警告と追加の背景でカバーすると、全体がはるかに簡潔になります。

于 2013-10-08T20:25:53.160 に答える