犬の散歩アプリの合計「散歩時間」を計算しています。Walks テーブルには、start_time と end_time の 2 つの列があります。特定の犬のすべての散歩の合計タイムアウトを表示したいので、2 つの列を合計し、start_time_totals から end_times_total を引くと、結果が合計タイムアウトになります。しかし、私は奇妙な結果を得ています。このように列を合計すると、
start_times = dog.walks.sum('start_time')
end_times = dog.walks.sum('end_time')
start_times と end_times の両方が同じ値を返します。サニティチェックを行うと、データベースの開始時間と終了時間が実際に期待どおりに設定されていることがわかります(午前中の開始時間、午後の終了時間)。したがって、合計はそれぞれに対して異なる値を確実に返すはずです列の。さらに、値は犬ごとに異なり、予想される相対的な値と一致しているため、散歩の多い犬は少ない犬よりも大きな値を返します。したがって、合計はおそらく機能しているように見えますが、どうにかして各列に同じ値を返すだけです。
ところで、これをdev Rails 3.2.3、ruby 2.0、SQLiteで実行しています。