開発ログでいつコールが表示され始めたのか、現時点では追跡できませんSELECT COUNT(*)
が、それは発生しており、その理由はないようです。これが正常なのか、なぜそうなのかを知りたいです。私はそれが大きな問題だとは思いませんが、必要がないのに、データベースへの余分な呼び出しが必要になるのはなぜですか。
私のコントローラーには
def some_action
@activities = user.activities
end
User
クラスでは、私はそれを持っていますhas_many :activities
このアクションを呼び出すと、ログ出力は
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.3ms) SELECT COUNT(*) FROM "activities" WHERE "activities"."user_id" = 1
Activity Load (0.3ms) SELECT "activities".* FROM "activities" WHERE "activities"."user_id" = 1
確かに言えることは、そのSELECT COUNT(*)
呼び出しを行うために使用されていないということだけです。私が知る限り、そのカウントを取得しようとするものは何もありません。
Rails 3.2.6 と PostgreSQL 9 を使用しています。