いろんな記事をみていると、ActiveRecordの、allやwhereは、ActiveRecord::Relationのオブジェクトを返すメソッドで実際にDBにアクセスしていないって話なんですが、
試しに自分のrails consoleで試したところ普通にDBにアクセスして取得できているんですよね。
Recruiter.all => Recruiter Load (1.7ms) SELECT "recruiters".* FROM "recruiters" [#<Recruiter:0x000055e9db560f48 id: "0abf31a2-e39f-472a-bb8f-fcb3016d62f8", last_name: "foo", first_name: "bar", email: "foo@example.com", created_at: Wed, 09 Feb 2022 17:57:33 JST +09:00, updated_at: Wed, 09 Feb 2022 17:57:33 JST +09:00, phone_number: "0010002000">]
ログをみても、普通にSQLが発行されています。
Recruiter Load (2.4ms) SELECT "recruiters".* FROM "recruiters"
ですが、一方でloaded?を実行するとfalseがかえるんですよね。
Recruiter.all.loaded? => false
自分が期待する動きは、Recruiter.allをしてもDBにアクセスせずSQLも発行しないはずなんですが、間違っていますか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/11 13:46 編集
2022/02/11 13:46
2022/02/11 13:57
2022/02/11 21:21
2022/02/11 23:54
2022/02/12 08:38