ActiveRecord で、has_many で定義した関連があるとき、その関連の件数を取得するのには、count, size, length の3つのメソッドがあります。さらに、0件かどうかを調べるためには、empty? や exists? といった問い合わせメソッドもあります。 これらの使い分けについて、なるべく分かりやすくなるように解説してみたいと思います。 はじめに、has_many関連とは、次のようなコード例における、company.users のことを指します。 class Company < ActiveRecord::Base has_many :users end class CompanyUsersController < ApplictaionController def index company = Company.find(params[:company_id
![ActiveRecord の has_many関連、件数を調べるメソッドはどれを使えばいい? - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/902e0584b0eee0f446979dd21492b6f32e2afa51/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QWN0aXZlUmVjb3JkJTIwJUUzJTgxJUFFJTIwaGFzX21hbnklRTklOTYlQTIlRTklODAlQTMlRTMlODAlODElRTQlQkIlQjYlRTYlOTUlQjAlRTMlODIlOTIlRTglQUElQkYlRTMlODElQjklRTMlODIlOEIlRTMlODMlQTElRTMlODIlQkQlRTMlODMlODMlRTMlODMlODklRTMlODElQUYlRTMlODElQTklRTMlODIlOEMlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElODglRTMlODElQjAlRTMlODElODQlRTMlODElODQlRUYlQkMlOUYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWUzYTI0MzA5Yjk0ZGM4ZmQ4MDI0NTNmYWIyOWQxZmFk%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbmF5MyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OGU1MGNiZGNjZTEzMDc3ZTk3OTFlZWNjYjljNzkzMGU%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D8a81e144b720dad9899b6c72f14fd3a4)