回答編集履歴

3

状況によってはおかしくなるので書き換え

2022/05/26 01:20

投稿

maisumakun
maisumakun

スコア145192

test CHANGED
@@ -1,3 +1,5 @@
1
1
  > なぜかローカルだけだとクラス名とファイル名が一致しないことでエラーが起きるんですよね。
2
2
 
3
- 本番サーバで、サーバ起動時に全クラスをロードしてしまう設定になっている(Railsがデフォルトで生成する本番用の設定でそうなる)と、「フォルダ名・ファイル名を基準にしたオートロード」は**行われません**。どのフォルダにあるのか気にせず全部読み込んでしまいます。
3
+ 本番サーバで、サーバ起動時に全クラスをロードする設定になっている(Railsがデフォルトで生成する本番用の設定でそうなる)と、どのフォルダにあるのか気にせず全部読み込んでしまいます。
4
+
5
+ この場合、「ファイル名を間違えているクラス」を参照するのがメソッド実行時、もしくは当該クラスよりあとからロードされるクラスの定義時であれば、すでに読み込みが行われているので正常に動作してしまいます。一方で、先にロードしようとしたファイルから当該クラスを参照しようとした場合、オートロードを行おうとしますが、失敗してエラーとなる可能性もあります。

2

少し追記

2022/05/26 01:15

投稿

maisumakun
maisumakun

スコア145192

test CHANGED
@@ -1,3 +1,3 @@
1
1
  > なぜかローカルだけだとクラス名とファイル名が一致しないことでエラーが起きるんですよね。
2
2
 
3
- 本番サーバで、サーバ起動時に全クラスをロードしてしまう設定になっている(Railsの初期設定でそうなる)と、「フォルダ名・ファイル名を基準にしたオートロード」は**行われません**。どのフォルダにあるのか気にせず全部読み込んでしまいます。
3
+ 本番サーバで、サーバ起動時に全クラスをロードしてしまう設定になっている(Railsがデフォルトで生成する本番用の設定でそうなる)と、「フォルダ名・ファイル名を基準にしたオートロード」は**行われません**。どのフォルダにあるのか気にせず全部読み込んでしまいます。

1

typo

2022/05/26 01:14

投稿

maisumakun
maisumakun

スコア145192

test CHANGED
@@ -1,3 +1,3 @@
1
1
  > なぜかローカルだけだとクラス名とファイル名が一致しないことでエラーが起きるんですよね。
2
2
 
3
- 本番サーバで、サーバ起動時に全クラスをロードしてしまう設定になっている(Railsの初期設定でそうなる)と、「フォルダ名・ファイル名を基準にしたオートロード」は**行われません**。どのフォルダにあるのか気にせず全部読み込んdしまいます。
3
+ 本番サーバで、サーバ起動時に全クラスをロードしてしまう設定になっている(Railsの初期設定でそうなる)と、「フォルダ名・ファイル名を基準にしたオートロード」は**行われません**。どのフォルダにあるのか気にせず全部読み込んしまいます。