0
毎日、サインアップの回数をレールアプリケーションに取得して配列に貼り付ける必要があります。私は現在、実用的なソリューションを持っていますが、データベースをn回照会するよりもずっと良い方法があると確信しています。Rails ActiveRecordでn日間に1日のサインアップをカウントする
私の現在のソリューション:
signups = []
30.times.do |i|
day = Time.current - (29.days - i.days)
todays_signups = User.where(time_joined: day.beginning_of_day..day.end_of_day).count
signups << todays_signups
end
User.time_joined
はDATETIME
列です。
これを行うには、データベースを30回実行するよりもずっと良い方法があります。可能であれば、生のSQLクエリを使用しないようにしたいと思います。あなただけのSQLクエリを経由してそれを行うことができます
はちょうどすぐに小さな答えを投稿し、その後の編集の束をしないでください。代わりに、良い答えを書くためにあなたの時間をとります – karlingen
@karlingenは私の現在のバージョンで何が間違っていますか? – Ilya
最初に次の回答を投稿しました: "User.group(" DATE(time_joined) ")。count"。そしてそこからあなたはok回答を思いつくまで編集を続けました。 – karlingen