Railsでテーブルのレコード数を取得したいとなった場合の話。
例えば、以下のようなUser Modelがあったとして
class User < ActiveRecord::Base
end
以下のようにcountメソッドを使えば、レコード数が取得できる。
User.count
SQL的には、以下のようなことが多分行われている、はず!
SELECT count(*) AS count_all FROM users
んで、やりたかったことはテーブルからランダムに1レコード取得したいみたいなこと。
その時に、レコード数の範囲で乱数を生成したかったので、countメソッドを使った。
User.find_by_id(rand(User.count) + 1)
以下のページでも、色々書かれているので参考程度に。
####【Rails】sizeとcountとlengthについて
なんかもっといい方法ありそうな気もするけど、とりあえず動いてる!