teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

説明を修正

2019/02/19 14:50

投稿

zennaka
zennaka

スコア17

answer CHANGED
@@ -7,8 +7,8 @@
7
7
  2.ちょっと違います。
8
8
  両方共、クラスの読み込みに関連する設定ですが、
9
9
  例えばlib/下にBookというクラスを定義したスクリプトがある場合、
10
- autoload_pathsに指定している場合はBookがどこかのプログラム中で呼び出されたタイミングでそのクラスの定義されているスクリプトをautoload_pathsに指定されているディレクトリから探し出して読み込みます。
10
+ autoload_pathsに指定し場合はBookがどこかのプログラム中で最初に呼び出されたタイミングでそのクラスの定義されているスクリプトをautoload_pathsに指定されているディレクトリから探し出してクラスをロードします。
11
- それに対してeager_load_pathsに指定している場合は、Railsが起動したタイミングで指定されているディレクトリ下にあるスクリプトを読み込ます。
11
+ それに対してeager_load_pathsに指定し場合は、Railsが起動したタイミングで指定されているディレクトリ下にあるスクリプトを読み込んでクラスを予めロードしておきます。
12
- なので、autoload_pathsとeager_load_pathsの違いはクラスを読み込むタイミングす。
12
+ なので、autoload_pathsとeager_load_pathsのはクラスをロードするタイミングが変わります。
13
13
 
14
14
  Rails5からはautoloadは非推奨になってるのでautoload_pathsは使うことは殆どないと思います。

1

説明をちょっと修正

2019/02/19 14:50

投稿

zennaka
zennaka

スコア17

answer CHANGED
@@ -6,8 +6,9 @@
6
6
 
7
7
  2.ちょっと違います。
8
8
  両方共、クラスの読み込みに関連する設定ですが、
9
+ 例えばlib/下にBookというクラスを定義したスクリプトがある場合、
9
- autoload_paths場合はそのクラスがプログラム中で呼び出されたタイミングでそのクラスの定義されているスクリプトをautoload_pathsに指定されているディレクトリから探し出して読み込みます。
10
+ autoload_pathsに指定している場合はBookどこかのプログラム中で呼び出されたタイミングでそのクラスの定義されているスクリプトをautoload_pathsに指定されているディレクトリから探し出して読み込みます。
10
- それに対してeager_load_paths場合は、Railsが起動したタイミングで指定されているディレクトリ下にあるスクリプトを読み込みます。
11
+ それに対してeager_load_pathsに指定している場合は、Railsが起動したタイミングで指定されているディレクトリ下にあるスクリプトを読み込みます。
11
12
  なので、autoload_pathsとeager_load_pathsの違いはクラスを読み込むタイミングです。
12
13
 
13
14
  Rails5からはautoloadは非推奨になってるのでautoload_pathsは使うことは殆どないと思います。