1

Rails 3 でオートロードがどのように機能するかを理解するための決定的なガイドや優れたブログ記事はありますか? 「ファイルが見つかりません」および「初期化されていない定数」エラーは非常に一般的であり非常にイライラします。

autoload メカニズムのどの部分が「Ruby から」、「Rails から」なのか? それはどのように機能しますか?正しい場所に存在することが明らかなファイルを見つけられないのはなぜですか? ファイルが見つかった場合、「初期化されていない定数」と不平を言うのはなぜですか?

それともRailsを1年使ってもダメなのは私だけ?

4

2 に答える 2

3

を使用しKernel#autoloadます。riから:

= Kernel#autoload

(from ~/.ri)
------------------------------------------------------------------------------
  autoload(module, filename)   -> nil

------------------------------------------------------------------------------

Registers filename to be loaded (using Kernel::require) the
first time that module (which may be a String or a symbol) is
accessed.

  autoload(:MyModule, "/usr/local/lib/modules/my_module.rb")

「ファイルが見つかりません」エラーで発生している問題について、特定の例の詳細を質問に追加できますか?それはあなたを助けることをより簡単にするでしょう。

于 2012-09-15T06:55:13.697 に答える
1

Rails でのオートロードとリロードに関する IMO の最適なリソースは、Rails ガイドのトピックに関する章http://guides.rubyonrails.org/autoloading_and_reloading_constants.htmlです。

この Rails メカニズムがどのように機能するかを理解するには、Ruby の定数検索がどのように機能するか、および Ruby でコードをロードするさまざまな方法を理解する必要があります。

Sinatra の作成者である Konstantin Haase によるこの詳細なブログ投稿で説明されているように、これは簡単なトピックではありません。http://blog.rkh.im/code-reloading .

于 2016-04-05T20:01:41.383 に答える